#
5bd04acf |
| 11-Oct-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Workaround deprecation warning in zend_test on 8.1
|
#
8d2df86b |
| 24-Nov-2023 |
Florian Engelhardt |
Fix invalid opline in OOM handlers within ZEND_FUNC_GET_ARGS and ZEND_BIND_STATIC (#12768) * fix segfault in `ZEND_BIND_STATIC` In case a `ZEND_BIND_STATIC` is being executed, while
Fix invalid opline in OOM handlers within ZEND_FUNC_GET_ARGS and ZEND_BIND_STATIC (#12768) * fix segfault in `ZEND_BIND_STATIC` In case a `ZEND_BIND_STATIC` is being executed, while the current chunk is full, the `zend_array_dup()` call will trigger a OOM in ZendMM which will crash, as the opline might be a dangling pointer. * add missing test * `assert()`ing seems easier than trying to make the compiler to not optimize * moved from function call to INI setting, so we can use this in other places as well * make `assert()` work no NDEBUG builds * document magic number * fix segfault in `ZEND_FUNC_GET_ARGS` In case a `ZEND_FUNC_GET_ARGS` is being executed, while the current chunk is full, the `zend_new_array()` call will trigger a OOM in ZendMM which will crash, as the opline might be a dangling pointer. --------- Co-authored-by: Florian Engelhardt <florian@engelhardt.tc>
show more ...
|
#
78fba9cb |
| 08-Nov-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12628: The gh11374 test fails on Alpinelinux Closes GH-12636.
|
#
9658d9ad |
| 27-Aug-2023 |
ju1ius |
adds failing test case for #12060 Signed-off-by: George Peter Banyard <girgias@php.net>
|
#
62228a25 |
| 31-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Disable global state test on Windows It looks like the config.w32 uses CHECK_HEADER_ADD_INCLUDE to add the include path to libxml into the search path. That doesn't happen in zend-te
Disable global state test on Windows It looks like the config.w32 uses CHECK_HEADER_ADD_INCLUDE to add the include path to libxml into the search path. That doesn't happen in zend-test. To add to the Windows trouble, libxml is statically linked in, ext/libxml can only be built statically but ext/zend-test can be built both statically and dynamically. So the regression tests won't work in all possible configurations anyway on Windows. All of this is no problem on Linux because it just uses dynamic linking and pkg-config, without any magic. Signed-off-by: Ben Ramsey <ramsey@php.net>
show more ...
|
#
93b43ac2 |
| 31-Jul-2023 |
Derick Rethans |
Fix broken merge
|
#
c283c3ab |
| 15-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Sanitize libxml2 globals before parsing Fixes GHSA-3qrf-m4j2-pcrr. To parse a document with libxml2, you first need to create a parsing context. The parsing context contains par
Sanitize libxml2 globals before parsing Fixes GHSA-3qrf-m4j2-pcrr. To parse a document with libxml2, you first need to create a parsing context. The parsing context contains parsing options (e.g. XML_NOENT to substitute entities) that the application (in this case PHP) can set. Unfortunately, libxml2 also supports providing default set options. For example, if you call xmlSubstituteEntitiesDefault(1) then the XML_NOENT option will be added to the parsing options every time you create a parsing context **even if the application never requested XML_NOENT**. Third party extensions can override these globals, in particular the substitute entity global. This causes entity substitution to be unexpectedly active. Fix it by setting the parsing options to a sane known value. For API calls that depend on global state we introduce PHP_LIBXML_SANITIZE_GLOBALS() and PHP_LIBXML_RESTORE_GLOBALS(). For other APIs that work directly with a context we introduce php_libxml_sanitize_parse_ctxt_options().
show more ...
|
#
84be9042 |
| 16-Apr-2023 |
Jakub Zelenka |
Add missing zend_test_crash message initialization
|
#
0ac55e9b |
| 15-Apr-2023 |
Jakub Zelenka |
Add zend_test_crash funtion to segfault PHP process This is useful for testing PHP-FPM handling of crashed children. Closes GH-11082
|
#
aead0c80 |
| 09-Mar-2023 |
Derick Rethans |
Fixed strict zpp arginfo test
|
#
f8891f28 |
| 09-Mar-2023 |
Derick Rethans |
Fixed strict zpp arginfo test
|
#
8a9b80cf |
| 07-Mar-2023 |
Derick Rethans |
Add test case
|
#
ff62d117 |
| 04-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-8646: Memory leak PHP FPM 8.1 Fixes GH-8646 See https://github.com/php/php-src/issues/8646 for thorough discussion. Interned strings that hold class entries can get a cor
Fix GH-8646: Memory leak PHP FPM 8.1 Fixes GH-8646 See https://github.com/php/php-src/issues/8646 for thorough discussion. Interned strings that hold class entries can get a corresponding slot in map_ptr for the CE cache. map_ptr works like a bump allocator: there is a counter which increases to allocate the next slot in the map. For class name strings in non-opcache we have: - on startup: permanent + interned - on request: interned For class name strings in opcache we have: - on startup: permanent + interned - on request: either not interned at all, which we can ignore because they won't get a CE cache entry or they were already permanent + interned or we get a new permanent + interned string in the opcache persistence code Notice that the map_ptr layout always has the permanent strings first, and the request strings after. In non-opcache, a request string may get a slot in map_ptr, and that interned request string gets destroyed at the end of the request. The corresponding map_ptr slot can thereafter never be used again. This causes map_ptr to keep reallocating to larger and larger sizes. We solve it as follows: We can check whether we had any interned request strings, which only happens in non-opcache. If we have any, we reset map_ptr to the last permanent string. We can't lose any permanent strings because of map_ptr's layout. Closes GH-10783.
show more ...
|
#
7e8ad578 |
| 20-Jun-2022 |
Christoph M. Becker |
Fix bad merge (b8dee9b3fc0f8f6371313cc54c642a5c9fc8bcd9) |
#
6d96f39a |
| 01-Jun-2022 |
Máté Kocsis |
Get rid of invalid assertion and cleanup zend_call_method Closes GH-8672 |
#
01d84545 |
| 31-May-2022 |
Sara Golemon |
Verify internal types before abandoning call frame An internal caller executing a builtin method with a static return type will lose context if we drop our frame before performing th
Verify internal types before abandoning call frame An internal caller executing a builtin method with a static return type will lose context if we drop our frame before performing the validation.
show more ...
|
Revision tags: php-8.1.7RC1 |
|
#
6465f3ed |
| 20-May-2022 |
Arnaud Le Blanc |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: XFAIL tests (GH-8588) Stop closing stderr and stdout streams (#8569)
|
#
fa78e177 |
| 16-May-2022 |
Levi Morrison |
Stop closing stderr and stdout streams (#8569) Extensions may (and do) write to stderr in mshutdown and similar. In the best case, with the stderr stream closed, it's just swallowed.
Stop closing stderr and stdout streams (#8569) Extensions may (and do) write to stderr in mshutdown and similar. In the best case, with the stderr stream closed, it's just swallowed. However, some libraries will do things like try to detect color, and these will outright fail and cause an error path to be taken.
show more ...
|
#
510061b5 |
| 03-May-2022 |
Máté Kocsis |
Merge branch 'PHP-8.0' into PHP-8.1 * PHP-8.0: Fix get_function_or_method_name when included file is scoped
|
#
74924ada |
| 03-May-2022 |
vajexal <72415539+vajexal@users.noreply.github.com> |
Fix get_function_or_method_name when included file is scoped (#8467) |
Revision tags: php-8.1.4RC1, php-8.1.3 |
|
#
070012d6 |
| 09-Feb-2022 |
Tim Düsterhus |
Add tests for function parameter attributes to ext/zend_test These tests verify the correct workings of the previous fixes: - Parameter attributes for native functions should not le
Add tests for function parameter attributes to ext/zend_test These tests verify the correct workings of the previous fixes: - Parameter attributes for native functions should not leak memory. - Parameter attributes for native functions should behave as expected.
show more ...
|
Revision tags: php-8.1.2RC1, php-8.1.0, php-7.3.33, php-7.3.32 |
|
#
51a9c68e |
| 21-Oct-2021 |
Bob Weinand |
Merge branch 'PHP-8.0' into PHP-8.1
|
#
471102ed |
| 21-Oct-2021 |
Bob Weinand |
Add ZEND_API for weakmap functionality via zend_weakrefs_hash_add/del Closes GH-7600. |
Revision tags: php-7.3.31 |
|
#
12b0f1b7 |
| 13-Sep-2021 |
Bob Weinand |
Fix #81435 Observer current_observed_frame may point to an old (overwritten) frame Ensure current_observed_frame always points to an actually observed frame. This solution has a caveat o
Fix #81435 Observer current_observed_frame may point to an old (overwritten) frame Ensure current_observed_frame always points to an actually observed frame. This solution has a caveat of being O(stack size), with the worst case occurring if there are a lot of frames between the current and previous observed frames. An O(1) solution would require keeping track of the previous observed frame, which would require some additional frame attached metadata, which is best not attempted in an already released version.
show more ...
|
#
32d48212 |
| 31-Aug-2021 |
Nikita Popov |
Support generating internal enum decl from stubs |