#
dfd05da9 |
| 23-Jul-2021 |
Nikita Popov |
Fix bug #66719 While parent:: should inherit the called scope, it should only do so if it is compatible. If there is no called scope, or it is not a subtype of the scope, we should f
Fix bug #66719 While parent:: should inherit the called scope, it should only do so if it is compatible. If there is no called scope, or it is not a subtype of the scope, we should fall back to the scope.
show more ...
|
#
e9481888 |
| 27-Aug-2020 |
twosee |
Improve error_handing replacement functions We explicitly skip calls to user_error_handler in EH_THROW mode Closes GH-6050.
|
#
429f194f |
| 30-Jan-2020 |
Nikita Popov |
Fix UAF in is_callable() and allocated trampoline By nulling out the function_handler, so it will not get used below. Reuse the existing helper for this purpose.
|
#
abf05181 |
| 17-Dec-2019 |
Dmitry Stogov |
Fixed memory leak
|
#
0927af3d |
| 17-Dec-2019 |
Dmitry Stogov |
Fixed memory leaks
|
#
3280209c |
| 11-Dec-2019 |
Dmitry Stogov |
Addirional fix for bug #78918
|
#
8d36d79d |
| 09-Dec-2019 |
Nikita Popov |
Fix build
|
#
92c23e1f |
| 09-Dec-2019 |
Dmitry Stogov |
Call zend_unregister_ini_entries() when unload extension loaded through dl() without MSHUTDOWN callback. Extensions with MSHUTDOWN should use UNREGISTER_INI_ENTRIES().
|
#
6540797f |
| 04-Dec-2019 |
Nikita Popov |
Fixed bug #78898
|
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0 |
|
#
bb30fe9e |
| 25-Nov-2019 |
Dmitry Stogov |
Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value)
|
Revision tags: php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5 |
|
#
f1848a4b |
| 24-Oct-2019 |
Nikita Popov |
Fix bug #78226: Don't call __set() on uninitialized typed properties Assigning to an uninitialized typed property will no longer trigger a call to __set(). However, calls to __set() are
Fix bug #78226: Don't call __set() on uninitialized typed properties Assigning to an uninitialized typed property will no longer trigger a call to __set(). However, calls to __set() are still triggered if the property is explicitly unset(). This gives us both the behavior people generally expect, and still allows ORMs to do lazy initialization by unsetting properties. For PHP 8, we should fine a way to forbid unsetting of declared properties entirely, and provide a different way to achieve lazy initialization.
show more ...
|
Revision tags: php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4 |
|
#
12f4e9e0 |
| 10-Oct-2019 |
Nikita Popov |
Fix leak when property AST evaluation fails
|
#
21148679 |
| 08-Oct-2019 |
Nikita Popov |
Handle "non well formed" exception during ZPP Previously if the "non well formed" notice was converted into an exception we'd still end up executing the function. Also drop the
Handle "non well formed" exception during ZPP Previously if the "non well formed" notice was converted into an exception we'd still end up executing the function. Also drop the now unnecessary EG(exception) checks in the engine. Additionally remote a bogus exception in zend_is_callable: It should only be writing to error, but not directly throwing.
show more ...
|
Revision tags: php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10 |
|
#
9dfbcd72 |
| 18-Sep-2019 |
Christoph M. Becker |
Fix #78543: is_callable() on FFI\CData throws Exception If `Z_OBJ_HANDLER_P(callable, get_closure)` throws, we must not let the exeception pass to userland, if called through `is_callabl
Fix #78543: is_callable() on FFI\CData throws Exception If `Z_OBJ_HANDLER_P(callable, get_closure)` throws, we must not let the exeception pass to userland, if called through `is_callable()`.
show more ...
|
Revision tags: php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9 |
|
#
8807889a |
| 23-Aug-2019 |
Nikita Popov |
Fix arginfo leak when using disabled_classes Also remove the hack where scope is set to NULL in order to make free_internal_arg_info work. Instead explicitly call it for class method
Fix arginfo leak when using disabled_classes Also remove the hack where scope is set to NULL in order to make free_internal_arg_info work. Instead explicitly call it for class methods. This fixes the asan build for Zend/tests/bug77494.phpt.
show more ...
|
Revision tags: php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1 |
|
#
60dca229 |
| 22-Jul-2019 |
Dmitry Stogov |
Initialize static_members_table
|
Revision tags: php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3 |
|
#
9a833438 |
| 08-Jul-2019 |
Dmitry Stogov |
Delay EG(exception) check on slow path
|
Revision tags: php-7.3.7, php-7.2.20 |
|
#
36983035 |
| 28-Jun-2019 |
Nikita Popov |
Fix arginfo leak in disable_functions Arginfo is allocated if types are used, we need to free it.
|
Revision tags: php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30 |
|
#
8f8fcbbd |
| 27-May-2019 |
Nikita Popov |
Support full variance if autoloading is used Keep track of delayed variance obligations and check them after linking a class is otherwise finished. Obligations may either be unresolv
Support full variance if autoloading is used Keep track of delayed variance obligations and check them after linking a class is otherwise finished. Obligations may either be unresolved method compatibility (because the necessecary classes aren't available yet) or open parent/interface dependencies. The latter occur because we allow the use of not fully linked classes as parents/interfaces now. An important aspect of the implementation is we do not require classes involved in variance checks to be fully linked in order for the class to be fully linked. Because the involved types do have to exist in the class table (as partially linked classes) and we do check these for correct variance, we have the guarantee that either those classes will successfully link lateron or generate an error, but there is no way to actually use them until that point and as such no possibility of violating the variance contract. This is important because it ensures that a class declaration always either errors or will produce an immediately usable class afterwards -- there are no cases where the finalization of the class declaration has to be delayed until a later time, as earlier variants of this patch did. Because variance checks deal with classes in various stages of linking, we need to use a special instanceof implementation that supports this, and also introduce finer-grained flags that tell us which parts have been linked already and which haven't. Class autoloading for variance checks is delayed into a separate stage after the class is otherwise linked and before delayed variance obligations are processed. This separation is needed to handle cases like A extends B extends C, where B is the autoload root, but C is required to check variance. This could end up loading C while the class structure of B is in an inconsistent state.
show more ...
|
Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16 |
|
#
a31f4642 |
| 26-Feb-2019 |
Nikita Popov |
Allow exceptions in __toString() RFC: https://wiki.php.net/rfc/tostring_exceptions And convert some object to string conversion related recoverable fatal errors into Error excep
Allow exceptions in __toString() RFC: https://wiki.php.net/rfc/tostring_exceptions And convert some object to string conversion related recoverable fatal errors into Error exceptions. Improve exception safety of internal code performing string conversions.
show more ...
|
#
ff96f25b |
| 03-Jun-2019 |
Joe Watkins |
Revert "Fix bug #62397 - disable_functions does not work with eval." This reverts commit 050d299364ded5cb7b878bc515aa763c9c623c4b.
|
#
1df9f238 |
| 31-May-2019 |
Dmitry Stogov |
Better hot/cold code splitting
|
#
e14d7733 |
| 29-May-2019 |
Dmitry Stogov |
Mark "cold" functions
|
#
7821cc3b |
| 29-May-2019 |
Joe Watkins |
disabled functions must not have return type
|
#
e6fac86d |
| 24-May-2019 |
Nikita Popov |
Accept flags argument in zend_lookup_class_ex() Instead of a single boolean, so we have space for extension here.
|