History log of /php-src/Zend/zend.c (Results 26 – 50 of 889)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 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 ...

12345678910>>...36