Commit Graph
81338 Commits
Author SHA1 Message Date
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
Dmitry Stogov 2625f145c8 Use extended iteration API to avoid in-place modification 2014-05-28 12:39:27 +04:00
Dmitry Stogov c9062917eb Use new zend_hash API 2014-05-28 12:34:08 +04:00
Dmitry Stogov a004c4fa80 Avoid in-place modification 2014-05-28 12:15:36 +04:00
Dmitry Stogov e598aab273 Use new zend_hash API 2014-05-28 12:15:16 +04:00
Dmitry Stogov 066ea2204e Avoid in-place modification 2014-05-28 10:15:15 +04:00
Dmitry Stogov cf603fb960 Reference counter in phpng may have a bit different meaning and must not be the same 2014-05-28 02:16:21 +04:00
Dmitry Stogov 6c4b30eb07 Use new zend_hash API 2014-05-28 02:13:45 +04:00
Dmitry Stogov 2dce4cb06c Avoid in-place conversion 2014-05-28 01:29:37 +04:00
Dmitry Stogov 864aa7746f Fixed refcounting 2014-05-28 01:28:38 +04:00
Matteo Beccati 5270563167 Escape non-printable characters in the junit XML output
XML doesn't allow most of the characters < 0x20 and binary output
breaks XML parsers. Such characters are not allowed as entities
either, so the generated entities are escaped in order to be printed
as text.
2014-05-27 12:04:52 +02:00
Xinchen Hui 4c9f6caf39 Merge branch 'phpng' of https://git.php.net/repository/php-src into phpng 2014-05-27 17:48:47 +08:00
Xinchen Hui 1966116791 retval's initializing is already taken by zend_call_function 2014-05-27 17:48:34 +08:00
Matteo Beccati 1b08c885ba Fixed broken XML junit output due to escaping of CDATA sections
I've removed CDATA and used htmlspecialchars as the output might not be UTF-8 safe, as pointed out by ircmaxell in 26b37f1792
2014-05-27 11:08:03 +02:00
Xinchen Hui 3a1f79d51d Fixed bug #47407 2014-05-27 11:48:25 +08:00
Dmitry Stogov e34a6e9211 Use new zend_hash API 2014-05-27 00:38:58 +04:00
Dmitry Stogov 05d0df4706 Use new zend_hash API 2014-05-26 21:29:35 +04:00
Nikita Popov 4ee14c6f8d Fix ** operator with references 2014-05-26 18:17:55 +02:00
Nikita Popov ff72c7bfd7 Add test for previous commit 2014-05-26 18:13:16 +02:00
Nikita Popov ec7b5e0b19 Fix incdec of ref object properties
This fixes a number of infinite loops in the Symfony testsuite. It
took an obscene amount of time to track this down :/
2014-05-26 18:00:15 +02:00
Dmitry Stogov 40256e0f9c Use specialized functions instead of macros 2014-05-26 17:16:16 +04:00
Dmitry Stogov 22f6cf91d5 Optimize func_get_args() to build packed array 2014-05-26 17:15:52 +04:00
Xinchen Hui 0df38cdcb6 Merge branch 'master' into phpng 2014-05-26 17:32:53 +08:00
Xinchen Hui b5f90e5103 Save some unnecessary zval copying 2014-05-26 17:25:57 +08:00
Xinchen Hui bd4b9837e9 Improve call_user_function performance
params are all zval * now, and retval will be initialized in
zend_call_function.

maybe we can make call_user_function as a macro proxy to
call_user_function_ex later.
2014-05-26 17:16:22 +08:00
Dmitry Stogov b66728aabb Removed useless initializations 2014-05-26 11:42:58 +04:00
Xinchen Hui cdacf4c90a Merge branch 'PHP-5.6' 2014-05-26 15:40:57 +08:00
Xinchen Hui b0b0be176f Merge branch 'PHP-5.5' into PHP-5.6 2014-05-26 15:40:50 +08:00
Xinchen Hui 70699d7f68 Update NEWs and add a test 2014-05-26 15:40:26 +08:00
Dmitry Stogov 79a3e44a0c Merge branch 'phpng' of git.php.net:php-src into phpng
* 'phpng' of git.php.net:php-src:
  Finished persistent PDO implement
2014-05-26 10:53:14 +04:00