#
694ec1de |
| 04-Jan-2023 |
Max Kellermann |
Zend/zend_{operators,variables}: include cleanup
|
#
a11c8a30 |
| 16-Dec-2022 |
Arnaud Le Blanc |
Limit stack size (#9104)
|
#
c4ecd82f |
| 24-Oct-2022 |
Tyson Andre |
Make inspecting SplFixedArray instances more memory efficient/consistent, change print_r null props handling (#9757) * Make handling of SplFixedArray properties more consistent Crea
Make inspecting SplFixedArray instances more memory efficient/consistent, change print_r null props handling (#9757) * Make handling of SplFixedArray properties more consistent Create a brand new reference counted array every time in SplFixedArray to be freed by the callers (or return null). Switch from overriding `get_properties` to overriding `get_properties_for` handler * Print objects with null hash table like others in print_r Noticed when working on subsequent commits for SplFixedArray. Make whether zend_get_properties_for returns null or an empty array invisible to the end user - it would be always be a non-null array for user-defined classes. Always print newlines with `\n\s*(\n\s*)` after objects Noticed when working on SplFixedArray changes, e.g. in ext/spl/tests/SplFixedArray__construct_param_null.phpt
show more ...
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3 |
|
#
ef39adb6 |
| 14-Aug-2022 |
twosee |
Merge branch 'PHP-8.1' * PHP-8.1: Re-fix GH-8409: SSL handshake timeout persistent connections hanging Revert "Fix GH-8409: SSL handshake timeout persistent connections hanging"
|
#
897ca85d |
| 09-Aug-2022 |
Jakub Zelenka |
Revert "Fix GH-8409: SSL handshake timeout persistent connections hanging" This reverts commit d0527427be57957157aec5e26a28899b380140df. This patch makes Swoole/Swow can not work an
Revert "Fix GH-8409: SSL handshake timeout persistent connections hanging" This reverts commit d0527427be57957157aec5e26a28899b380140df. This patch makes Swoole/Swow can not work anymore, because Coroutine will yield to another one during socket operation, EG(record_errors) assertion will always fail, and zend_begin_record_errors() was only used during compile time before. Note: zend_emit_recorded_errors() and the typo fix are reserved.
show more ...
|
#
438f692e |
| 12-Aug-2022 |
Jakub Zelenka |
Merge branch 'PHP-8.1'
|
#
d0527427 |
| 09-Aug-2022 |
Jakub Zelenka |
Fix GH-8409: SSL handshake timeout persistent connections hanging This is not actually related to SSL handshake but stream socket creation which does not clean errors if the error handle
Fix GH-8409: SSL handshake timeout persistent connections hanging This is not actually related to SSL handshake but stream socket creation which does not clean errors if the error handler is set. This fix prevents emitting errors until the stream is freed.
show more ...
|
Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22 |
|
#
625f1649 |
| 20-Jul-2022 |
Bob Weinand |
Include internal functions in the observer API There are two main motivations to this: a) The logic for handling internal and userland observation can be unified. b) Unwinding of obs
Include internal functions in the observer API There are two main motivations to this: a) The logic for handling internal and userland observation can be unified. b) Unwinding of observed functions on a bailout does notably not include observers. Even if users of observers were to ensure such handling themselves, it would be impossible to retain the relative ordering - either the user has to unwind all internal observed frames before the automatic unwinding (zend_observer_fcall_end_all) or afterwards, but not properly interleaved. Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
show more ...
|
Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1 |
|
#
4df3dd76 |
| 08-Jul-2022 |
Arnaud Le Blanc |
Reduce memory allocated by var_export, json_encode, serialize, and other (#8902) smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend
Reduce memory allocated by var_export, json_encode, serialize, and other (#8902) smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend to return the over-allocated string directly. This results in unnecessary memory usage, especially for small strings. The overhead can be up to 231 bytes for strings smaller than that, and 4095 for other strings. This can be avoided for strings smaller than `4096 - zend_string header size - 1` by reallocating the string. This change introduces `smart_str_trim_to_size()`, and calls it in `smart_str_extract()`. Functions that use `smart_str` are updated to use `smart_str_extract()`. Fixes GH-8896
show more ...
|
Revision tags: php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1 |
|
#
efc8f0eb |
| 17-Jun-2022 |
Arnaud Le Blanc |
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number p
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number parsing. They also check for a 'K', 'M', or 'G' at the end of the string, and multiply the parsed value out accordingly. Unfortunately, they ignore any other non-numerics between the numeric component and the last character in the string. This means that numbers such as the following are both valid and non-intuitive in their final output. * "123KMG" is interpreted as "123G" -> 132070244352 * "123G " is interpreted as "123 " -> 123 * "123GB" is interpreted as "123B" -> 123 * "123 I like tacos." is also interpreted as "123." -> 123 Currently, in php-src these functions are used only for parsing ini values. In this change we deprecate zend_atol(), zend_atoi(), and introduce a new function with the same behavior, but with the ability to report invalid inputs to the caller. The function's name also makes the behavior less unexpected: zend_ini_parse_quantity(). Co-authored-by: Sara Golemon <pollita@php.net>
show more ...
|
Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1 |
|
#
b63df3ce |
| 24-May-2022 |
Levi Morrison |
Stop copying zend_module_entry (#8551) I did some historical digging and could not figure out why a copy is made. Additionally, the copy was not using the `.size` member, so it was p
Stop copying zend_module_entry (#8551) I did some historical digging and could not figure out why a copy is made. Additionally, the copy was not using the `.size` member, so it was probably wrong, but it's been that way for quite some time.
show more ...
|
Revision tags: php-8.1.6, php-8.0.19 |
|
#
0a5a7611 |
| 06-May-2022 |
Arnaud Le Blanc |
Merge branch 'PHP-8.1'
|
#
f07a08df |
| 06-May-2022 |
Arnaud Le Blanc |
Fix unregistering ini entries of dynamically loaded extension (#8435) Fixes GH-8185 |
Revision tags: php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17 |
|
#
bfedb4ea |
| 11-Mar-2022 |
Dmitry Stogov |
Merge branch 'PHP-8.1' * PHP-8.1: Fix non-reentirant startiong or error recording from error handler
|
#
c6a53f94 |
| 11-Mar-2022 |
Dmitry Stogov |
Fix non-reentirant startiong or error recording from error handler Fixes oss-fuzz #45398 |
#
e6bdf980 |
| 07-Mar-2022 |
Bob Weinand |
Put packed back to attribute iterating after merge |
#
e439736f |
| 07-Mar-2022 |
Bob Weinand |
Merge branch 'PHP-8.1'
|
#
67b372e2 |
| 07-Mar-2022 |
Bob Weinand |
Merge branch 'PHP-8.0' into PHP-8.1
|
#
15949b61 |
| 07-Mar-2022 |
Bob Weinand |
Fix ZTS build after cherry-pick |
#
185a1468 |
| 07-Mar-2022 |
Bob Weinand |
Merge branch 'PHP-8.1'
|
#
a44d99fe |
| 07-Mar-2022 |
Bob Weinand |
Merge branch 'PHP-8.0' into PHP-8.1
|
#
0d7e10c1 |
| 07-Mar-2022 |
Tim Düsterhus |
Fix memory leak of function attribute hash table (#8070) ==109253== 280 (56 direct, 224 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==109253== at 0x4
Fix memory leak of function attribute hash table (#8070) ==109253== 280 (56 direct, 224 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==109253== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==109253== by 0x6D9FA2: __zend_malloc (zend_alloc.c:3068) ==109253== by 0x745138: zend_add_attribute (zend_attributes.c:226) ==109253== by 0x6680D1: zend_add_parameter_attribute (zend_attributes.h:102) ==109253== by 0x66B787: zm_startup_zend_test (test.c:478) ==109253== by 0x7224CD: zend_startup_module_ex (zend_API.c:2202) ==109253== by 0x72252C: zend_startup_module_zval (zend_API.c:2217) ==109253== by 0x734288: zend_hash_apply (zend_hash.c:2011) ==109253== by 0x722C30: zend_startup_modules (zend_API.c:2328) ==109253== by 0x67409B: php_module_startup (main.c:2256) ==109253== by 0x88EDDE: php_cli_startup (php_cli.c:409) ==109253== by 0x890F61: main (php_cli.c:1334)
show more ...
|
Revision tags: php-8.1.4RC1 |
|
#
0e88f749 |
| 01-Mar-2022 |
Bob Weinand |
Merge branch 'PHP-8.1'
|
#
85b669e5 |
| 01-Mar-2022 |
Bob Weinand |
Merge branch 'PHP-8.0' into PHP-8.1
|
Revision tags: php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28 |
|
#
e6cf5831 |
| 12-Feb-2022 |
Bob Weinand |
Fix GH-8082: Prevent leaking memory on observed transient run_time_caches This is achieved by tracking the observers on the run_time_cache (with a fixed amount of slots, 2 for each observer)
Fix GH-8082: Prevent leaking memory on observed transient run_time_caches This is achieved by tracking the observers on the run_time_cache (with a fixed amount of slots, 2 for each observer). That way round, if the run_time_cache is freed all associated observer data is as well. This approach has been chosen, as to avoid any ABI or API breakage. Future versions may for example choose to provide a hookable API for run_time_cache freeing or similar.
show more ...
|