Commit Graph

81402 Commits

Author SHA1 Message Date
Dmitry Stogov
3d87391cc0 Reference counters in PHPNG may have different values 2014-06-04 09:57:17 +04:00
Dmitry Stogov
6e7338700e Avoid useless merge 2014-06-04 02:11:26 +04:00
Dmitry Stogov
3f6f0d5a70 Simplified and optimized ZEND_HANDLE_NUMERIC() 2014-06-03 13:10:42 +04:00
Dmitry Stogov
bc2ba841f9 Optimized conditions order 2014-06-03 09:45:09 +04:00
Dmitry Stogov
30c05577f7 Optimized conditions order 2014-06-03 03:54:03 +04:00
Dmitry Stogov
af78ea1d97 Avoid copying of immutable arrays 2014-06-03 02:43:53 +04:00
Dmitry Stogov
2bc1abe204 cleanup 2014-06-03 02:43:31 +04:00
Dmitry Stogov
0427ae08fb cleanup 2014-06-03 00:36:31 +04:00
Xinchen Hui
717b5661e7 Fixed merge 2014-06-01 23:14:31 +08:00
Xinchen Hui
91b2ddc816 Merge branch 'master' into phpng
Conflicts:
	ext/spl/spl_array.c
	ext/spl/spl_directory.c
	ext/standard/formatted_print.c
2014-06-01 22:43:06 +08:00
Xinchen Hui
d196ac6a48 Merge branch 'PHP-5.6' 2014-06-01 19:42:53 +08:00
Xinchen Hui
f41ab36e5c Update NEWs 2014-06-01 19:42:39 +08:00
Xinchen Hui
c4e7c7d50e Merge branch 'PHP-5.5' into PHP-5.6 2014-06-01 19:42:20 +08:00
Xinchen Hui
0218e4eb19 Update NEWs 2014-06-01 19:42:01 +08:00
Xinchen Hui
9bb5867fad Merge branch 'PHP-5.4' into PHP-5.5 2014-06-01 19:41:35 +08:00
Xinchen Hui
38be99b739 Fixed bug #67359 (Segfault in recursiveDirectoryIterator) 2014-06-01 19:41:01 +08:00
Dmitry Stogov
032bdbba73 Improved conditions order 2014-05-30 14:40:19 +04:00
Dmitry Stogov
d2020cd91b Merge branch 'phpng' of git.php.net:php-src into phpng
* 'phpng' of git.php.net:php-src:
  typo
  Revert "Fix ArrayObject with immutable array"
  Fix ArrayObject with immutable array
2014-05-30 11:13:19 +04:00
Dmitry Stogov
984c8f87d2 Avoid useless duplication of immutable arrays 2014-05-30 11:12:24 +04:00
Dmitry Stogov
45d7ab1a4c Avoid in-place modification 2014-05-30 11:12:03 +04:00
Xinchen Hui
9f70b2f6fa typo 2014-05-30 14:56:50 +08:00
Nikita Popov
92c9f826c9 Revert "Fix ArrayObject with immutable array"
This reverts commit 9c85aa0489.
2014-05-29 21:49:54 +02:00
Nikita Popov
9c85aa0489 Fix ArrayObject with immutable array 2014-05-29 21:19:49 +02:00
Adam Harvey
f4a235c541 Merge branch 'PHP-5.6'
* PHP-5.6:
  Check for zero-length keys in spl_array_skip_protected and don't skip them.
  added CVEs in NEWS
2014-05-29 17:57:54 +00:00
Adam Harvey
b8042acdde Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Check for zero-length keys in spl_array_skip_protected and don't skip them.
  added CVEs in NEWS
2014-05-29 17:56:32 +00:00
Adam Harvey
43e3a83d51 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Check for zero-length keys in spl_array_skip_protected and don't skip them.
2014-05-29 17:53:28 +00:00
Adam Harvey
b5d9983ff4 Check for zero-length keys in spl_array_skip_protected and don't skip them.
Fixes bug #67360 (Missing element after ArrayObject::getIterator).
2014-05-29 17:49:32 +00:00
Dmitry Stogov
b3b616cf7e Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM. 2014-05-29 18:21:56 +04:00
Nikita Popov
bfff679d90 Fix length reset in JSON parser 2014-05-29 12:53:32 +02:00
Nikita Popov
ccd9dab4c6 Fix $http_response_header creation 2014-05-29 12:51:03 +02:00
Nikita Popov
d1ae74a1a5 Improve gdb ht and zval dumps 2014-05-29 12:47:40 +02:00
Nikita Popov
47e85b1b35 Improve class constant fetch fix
Dereference the cached constant for Test::TEST as well (and not just
self::TEST).

Also improve the phpt file to test this case as well - previously
this only manifested with opcache enabled, due to literal sharing.

Additionally the Z_TYPE_P != IS_REFERENCE assertion is now moved
into the TMP_VAR fetching code (as it applies to more than just
property assignments.)
2014-05-29 11:17:33 +02:00
Nikita Popov
d9a35c7e97 Fix class constant fetching
If a class is extended after the constant fetch has been cached
the cached value will be turned into a reference. On the next
fetch the polymorphic cache will return this reference, which
will be directly returned. The object assignment code then
dereferences this result and performs a shallow copy, which is
invalid for references. This subsequently leads to the constant
value being prematurely freed.

This is fixed by dereferencing the value returned from the
polymorphic cache. Furthermore the incorrect dereference from
in the object assignment code is replaced with an assertion that
we're dealing with a non-reference, so ensure that this kind of
problem cannot go unnoticed in the future.
2014-05-29 00:15:50 +02:00
Nikita Popov
afd8a02160 A few more fixes and improvements for gdbinit 2014-05-29 00:15:50 +02:00
Nikita Popov
411a8757ad Initialize GC_TYPE_INFO for EG(symbol_table) 2014-05-29 00:15:50 +02:00
Dmitry Stogov
8334f38615 Fixed conversion to phpng mistakes 2014-05-28 23:04:50 +04:00
Nikita Popov
9e2bc83fdb Use zend_long_to_str in wddx 2014-05-28 18:55:51 +02:00
Nikita Popov
3831b39302 Use zval_get_string in implode
Also get rid of separate case for IS_OBJECT - this is already
handled by the default branch.
2014-05-28 18:45:00 +02:00
Nikita Popov
bf5a59d281 Use smart_str_append_long in implode 2014-05-28 18:39:41 +02:00
Nikita Popov
3f27d707d2 Use zend_long_to_str in curl
Also use STR_ADDREF instead of maintaining a numeric_key flag.
2014-05-28 18:34:35 +02:00
Nikita Popov
0987d19712 Use zend_long_to_str in pcntl 2014-05-28 18:26:11 +02:00
Nikita Popov
a6d33eb654 Clamb gdb string output at 256 chars 2014-05-28 18:22:19 +02:00
Dmitry Stogov
d0d62d3bb0 Use new zend_hash API 2014-05-28 18:45:01 +04:00
Dmitry Stogov
3419dc8c60 Use new zend_hash API 2014-05-28 18:12:52 +04:00
Dmitry Stogov
2af311bea3 Use new zend_hash API 2014-05-28 17:49:31 +04:00
Dmitry Stogov
4affab237d Use new zend_hash API 2014-05-28 17:43:11 +04:00
Dmitry Stogov
b675492054 Use new zend_hash API 2014-05-28 17:30:05 +04:00
Dmitry Stogov
20f6dec6b6 Use new zend_hash API 2014-05-28 16:56:41 +04:00
Dmitry Stogov
aca34b127a Use new zend_hash API 2014-05-28 14:09:42 +04:00
Dmitry Stogov
a1177760b4 Use extended iteration API to avoid in-place modification 2014-05-28 13:00:33 +04:00