1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 10:43:30 +02:00
Commit Graph

412 Commits

Author SHA1 Message Date
Dmitry Stogov b25bc917ec Allow switching back to Zend MM heap. 2018-09-17 20:20:13 +03:00
David Carlier f7b573b4e9 Support fixed address mmap without replacement
Reapply changes for Zend fixed mapping but only for FreeBSD.
Other BSD might expose some day a similar flag (private
for OpenBSD for the moment for example).
The Linux's part could be brought back but not before 7.4,
at this time, distributions with kernel > 4.17 will be
more widely available.
2018-09-07 12:10:05 +02:00
Remi Collet a55bcaa14d Revert "Support fixed address mmap without replacement"
This reverts commit 0f68ff5c92.
2018-08-29 14:41:04 +02:00
Remi Collet 8cc7e2a2df Revert "Don't report mmap failure if it is expected"
This reverts commit 446b5b15d3.
2018-08-29 14:40:59 +02:00
David Carlier 446b5b15d3 Don't report mmap failure if it is expected
When using mmap with MAP_FIXED_NOREPLACE or MAP_FIXED|MAP_EXCL
an mmap failure is not an error condition, so do not print an
error message in this case.
2018-08-22 11:19:52 +02:00
David Carlier 0f68ff5c92 Support fixed address mmap without replacement
We did not use MAP_FIXED here, because it may replace an existing
mapping. This commit adds support for MAP_FIXED_NOREPLACE (available
on newer Linux kernels) and MAP_FIXED|MAP_EXCL (available on FreeBSD),
which avoid this issue.
2018-08-21 08:31:31 +02:00
Peter Kokot 8d3f8ca12a Remove unused Git attributes ident
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Dmitry Stogov 18bc3afdcb Micro-optimizations 2018-06-06 01:57:19 +03:00
Dmitry Stogov 4ad9cf4605 Bit test optimization 2018-05-08 11:58:17 +03:00
Dmitry Stogov 880694952f micro optimisation 2018-05-07 22:29:16 +03:00
Dmitry Stogov d5238b95a3 Added missing #if to allow compilation withput ZEND_MM_CUSTOM 2018-01-15 17:37:15 +03:00
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Dmitry Stogov abd2120c4f Fixed inaccurate condition 2017-11-07 10:29:17 +03:00
Xinchen Hui 4da0bfc7d7 Unused var 2017-11-06 14:10:27 +08:00
Dmitry Stogov 522cc6926b erealloc() optimization 2017-11-03 18:35:03 +03:00
Dmitry Stogov 7045362ce7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75368 (mmap/munmap trashing on unlucky allocations)
2017-10-13 14:00:21 +03:00
Dmitry Stogov bf1c1d07db Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #75368 (mmap/munmap trashing on unlucky allocations)
2017-10-13 13:56:23 +03:00
Dmitry Stogov 397f5cb687 Fixed bug #75368 (mmap/munmap trashing on unlucky allocations) 2017-10-13 13:56:06 +03:00
Sara Golemon a93fe32c1a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix word alignment on ILP64.
2017-09-28 10:48:43 -04:00
Sara Golemon b5bc88c64e Fix word alignment on ILP64. 2017-09-28 10:45:51 -04:00
Anatol Belski bc5811f361 further sync for vim mode lines 2017-07-04 18:12:45 +02:00
Tom Van Looy 04fb3f28ff Remove superfluous semicolons 2017-06-26 00:23:25 +02:00
ZiMuyang 5c9d6e89fe Delete extra semicolon 2017-06-12 23:14:11 +02:00
Nikita Popov edcabf6d07 Drop unnecessary allocator return value checks 2017-03-13 22:07:15 +01:00
Nikita Popov 8a34b33c59 Merge branch 'PHP-7.1' 2017-03-09 20:48:32 +01:00
Nikita Popov 305f3c2b76 Merge branch 'PHP-7.0' into PHP-7.1 2017-03-09 20:48:24 +01:00
Nikita Popov 177f87cf05 Fixed bug #73370
If len=0 malloc() is allowed to return NULL.
2017-03-09 20:47:06 +01:00
Sammy Kaye Powers dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers 478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers 9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Nikita Popov ef1ed6ab8e Merge branch 'PHP-7.1' 2016-12-14 18:11:51 +01:00
Nikita Popov 33e96c9d63 Merge branch 'PHP-7.0' into PHP-7.1 2016-12-14 18:11:43 +01:00
Nikita Popov f99bf70360 Partially fix bug #70492
The libmagic portion is missing.
2016-12-14 18:11:27 +01:00
Anatol Belski b204b3abd1 further normalizations, uint vs uint32_t
fix merge mistake

yet one more replacement run
2016-11-26 17:29:01 +01:00
Dmitry Stogov 4616441980 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixded bug #72736 (Slow performance when fetching large dataset with mysqli / PDO)
2016-10-26 15:22:51 +03:00
Dmitry Stogov 3fb0a1a4e7 Fixded bug #72736 (Slow performance when fetching large dataset with mysqli / PDO) 2016-10-26 15:17:09 +03:00
Anatol Belski d35d9d1d0e missed piece for renaming
(cherry picked from commit 5ba9eab436)
2016-10-14 02:08:28 +02:00
Stanislav Malyshev 0362d61ab7 Fix potential overflows in php_pcre_replace_impl
(cherry picked from commit 9c50ba42d6)
2016-10-14 01:57:55 +02:00
Anatol Belski 5ba9eab436 missed piece for renaming 2016-10-13 15:39:02 +02:00
Stanislav Malyshev 9c50ba42d6 Fix potential overflows in php_pcre_replace_impl 2016-10-12 23:07:47 -07:00
Christoph M. Becker 75a1384ebf Merge branch 'PHP-7.0' into PHP-7.1 2016-09-24 18:18:34 +02:00
Christoph M. Becker bc22582cf7 Merge branch 'PHP-5.6' into PHP-7.0 2016-09-24 18:05:21 +02:00
Christoph M. Becker c596b02a5b Merge branch 'pull-request/2120' into PHP-5.6 2016-09-24 17:52:15 +02:00
Stanislav Malyshev 19866fb76c Fix various int size overflows.
Add function for detection of string zvals with length that does not fit
INT_MAX.
2016-09-12 21:04:23 -07:00
Christoph M. Becker 5880428dac Fix potential memory issue with USE_ZEND_ALLOC=0
The PHP core and extensions are written with the assumption that memory
allocation either succeeds, or the allocator bails out (i.e. the allocator
is infallible). Therefore the result of emalloc() and friends are not checked
for NULL values.

However, with USE_ZEND_ALLOC=0, malloc() and friends are used as allocators,
but these are fallible, i.e. they return NULL instead of bailing out if they
fail. This easily leads to invalid memory accesses in the following, such as
in <https://bugs.php.net/73032>. Some of these cases may constitute
exploitable vulnerabilities.

Therefore we make the infallible __zend_alloc() and friends the default for
USE_ZEND_ALLOC=0.
2016-09-07 22:50:53 +02:00
Xinchen Hui ce6ad9bdd9 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0: (48 commits)
  Update NEWs
  Unused label
  Fixed bug #72853 (stream_set_blocking doesn't work)
  fix test
  Bug #72663 - part 3
  Bug #72663 - part 2
  Bug #72663 - part 1
  Update NEWS
  BLock test with memory leak
  fix tests
  Fix TSRM build
  Fix bug #72850 - integer overflow in uuencode
  Fixed bug #72849 - integer overflow in urlencode
  Fix bug #72848 - integer overflow in quoted_printable_encode caused heap corruption
  Fix bug #72838 - 	Integer overflow lead to heap corruption in sql_regcase
  Fix bug #72837 - integer overflow in bzdecompress caused heap corruption
  Fix bug #72836 - integer overflow in base64_decode caused heap corruption
  Fix for bug #72807 - do not produce strings with negative length
  Fix for bug #72790 and bug #72799
  Fix bug #72730 - imagegammacorrect allows arbitrary write access
  ...

Conflicts:
	ext/standard/var_unserializer.c
2016-08-17 17:14:30 +08:00
Stanislav Malyshev c2a13ced42 Fix bug #72742 - memory allocator fails to realloc small block to large one 2016-08-14 19:08:59 -07:00
Dmitry Stogov 0cfb47651c Fixed compilation warnings 2016-06-28 11:37:51 +03:00
Dmitry Stogov ebb99a1a3a Fixed compilation warnings 2016-06-21 16:55:17 +03:00
Dmitry Stogov 1616038698 Added ZEND_ATTRIBUTE_FORMAT to some middind functions.
"%p" replaced by ZEND_LONG_FMT to avoid compilation warnings.
Fixed most incorrect use cases of format specifiers.
2016-06-21 16:00:37 +03:00