1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

387 Commits

Author SHA1 Message Date
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 b5bc88c64e Fix word alignment on ILP64. 2017-09-28 10:45:51 -04: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
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
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
Nikita Popov 14023d39c1 Move builtin_ctzl portability into zend_bitset.h
Use this function in both zend_mm_bitset_find_one and
zend_bitset_first.

Maybe zend_bitset.h is not quite the right place for it, but I did
not want to include this in a globally included header like
zend_long.h or zend_portability.h.
2016-05-17 22:23:43 +02:00
Dmitry Stogov a8d4649097 Use unsigned shift to clear the bit. 2016-04-29 12:38:48 +03:00
Rasmus Lerdorf 1efcdaf092 Disable huge pages in the Zend allocator by default
As per the discussion on internals, this is an expert feature
that needs special system-level configuration and care.
2016-03-22 08:04:53 -07:00
Dmitry Stogov 945a661912 Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0. 2016-03-17 22:43:42 +03:00
Anatol Belski 741bfe3932 fix build with clang on Winodws 2016-03-10 15:30:20 +01:00
Dmitry Stogov 0b9c87a02b Fixed bug #71535 (Integer overflow in zend_mm_alloc_heap()) 2016-02-24 11:04:48 +03:00
Xinchen Hui 97a9470d97 bump year which is missed in rev 49493a2 2016-01-02 17:56:11 +08:00
Xinchen Hui 3537e95dae bump year which is missed in rev 49493a2 2016-01-02 17:51:24 +08:00
Dmitry Stogov 59424bb7bd Fixed bug #71006 (symbol referencing errors on Sparc/Solaris) 2015-12-03 13:28:41 +03:00
Xinchen Hui 83de5364b7 manually apply the typo fix in master 2015-11-07 23:03:25 -08:00
Dmitry Stogov eb32da13cd Fix frequent reallocations with many small strings 2015-10-27 17:07:58 +01:00
Dmitry Stogov d949c3b6e5 Fixed incorrect "peak" memory consumption calculation. 2015-10-13 15:20:17 +03:00
Dmitry Stogov 04bcce3c15 Cleanup (we keep and reuse size from zend_mm_huge_list) 2015-09-22 15:51:02 +03:00
Dmitry Stogov c61604b9a9 Fixed reporting about repeatable "huge" memory leaks. 2015-09-22 15:46:41 +03:00
Bob Weinand 08e253cdbc Optimize zend_mm_small_size_to_bin()
It removes a cmov operation and has a much faster branch for small allocations (especially when handling strings) (<= 64 bytes)
2015-09-19 23:07:43 +02:00
Dmitry Stogov 1b8bf059c4 Don't keep dangling pointer. 2015-09-10 20:03:42 +03:00
Dmitry Stogov ac83eaef10 Don't inline "slow" and rarely used functions. 2015-09-09 13:42:35 +03:00
Dmitry Stogov aa3fd8c849 Fixed typo that might cause serious bugs in MM. May be it was the reason of bug #70392 (SIGSEGV during PHP shutdown). 2015-09-08 17:22:26 +03:00
Dmitry Stogov 6848cb3f63 Use regular huge pages instead of anonymous if available. 2015-09-02 15:55:41 +03:00
Dmitry Stogov 111bd5d8c4 Introduced additional check. Its miss might be the reason of bug #70392 (SIGSEGV during PHP shutdown) 2015-09-02 13:05:12 +03:00
Dmitry Stogov 89aa1b7392 Ensure proper data alignment 2015-08-31 13:56:42 +03:00
Dmitry Stogov 87f0f77105 Simplified integer overflow checks 2015-08-28 12:47:21 +03:00
Dmitry Stogov 5d15d2b26d Removed useless signal protection 2015-08-28 12:39:18 +03:00
Bob Weinand 76e3e99dd6 Fix issues with phpdbg SIGINT handler
Also fix valgrind warnings in allocator when not using mmap()ed memory
2015-08-21 23:36:31 +01:00
Dmitry Stogov 71af54e5f6 Mark error and exception functions as "cold" (Matt's idea) 2015-08-19 14:40:56 +03:00