#
5f8ed776 |
| 12-Jul-2021 |
Nikita Popov |
Fix GC of object properties HT We partially fixed this in bug #78379, but still don't handle the case where the properties array is marked as grey first, which causes a delref to not
Fix GC of object properties HT We partially fixed this in bug #78379, but still don't handle the case where the properties array is marked as grey first, which causes a delref to not be performed later. Fix this by treating the object properties HT the same way as other refcounted values, including addrefs/delrefs. The object dtor code already handles properties HT with NULL GC type, so out of order destruction should not be a problem. Fixes oss-fuzz #36023.
show more ...
|
#
a80360db |
| 09-Jul-2021 |
Nikita Popov |
Deprecate direct access to static trait members Static trait members may only be accessed through a class in which the trait is used, not directly on the trait. A complication h
Deprecate direct access to static trait members Static trait members may only be accessed through a class in which the trait is used, not directly on the trait. A complication here is that we should not store static methods/properties for which a deprecation is triggered in a cache slot. As the check for this is simple and cheap, I'm handling this in the cache slot population code in the VM. The alternative would be to pass the cache slot down into the fetching code. Part of https://wiki.php.net/rfc/deprecations_php_8_1.
show more ...
|
#
cdbe39b1 |
| 09-Jul-2021 |
Nikita Popov |
Remove unnecessary property name unmangling The property name isn't mangled in this context. Unmangling would only be necessary if we used the name stored in the property_info. |
#
2fe242db |
| 09-Jul-2021 |
Nikita Popov |
Remove leftover handling of PHP4 constructors This seems to be mapping ParentClass::ParentClass() to ParentClass::__construct(), but only for non-__construct ctors, which don't exist
Remove leftover handling of PHP4 constructors This seems to be mapping ParentClass::ParentClass() to ParentClass::__construct(), but only for non-__construct ctors, which don't exist anymore.
show more ...
|
#
53fba3a1 |
| 02-Jul-2021 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Fixed bug #80173
|
#
4e66e6a7 |
| 02-Jul-2021 |
Nikita Popov |
Merge branch 'PHP-7.4' into PHP-8.0 * PHP-7.4: Fixed bug #80173
|
#
bdc60fa7 |
| 02-Jul-2021 |
Nikita Popov |
Fixed bug #80173 The analysis in the bug report wasn't correct (at least not in this case -- there may still be a more general problem here), the issue was that write_property return
Fixed bug #80173 The analysis in the bug report wasn't correct (at least not in this case -- there may still be a more general problem here), the issue was that write_property returned the original variable_ptr rather than the zend_assign_to_variable() return value, which will DEREF the variable before overwriting it.
show more ...
|
Revision tags: php-8.0.7, php-7.4.20 |
|
#
a76d35ab |
| 25-May-2021 |
Nikita Popov |
Remove commented code from get_method handler |
Revision tags: php-8.0.7RC1, php-7.4.20RC1, php-8.0.6 |
|
#
2aac6160 |
| 04-May-2021 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Don't treat failed assignment as initialization
|
#
398cfb98 |
| 04-May-2021 |
Nikita Popov |
Don't treat failed assignment as initialization Only reset the uninitialized property flag once the type check has succeeded. Previously the property was treated as unset rather than
Don't treat failed assignment as initialization Only reset the uninitialized property flag once the type check has succeeded. Previously the property was treated as unset rather than uninitialized after a failed assignment. Noticed this edge-case while working on accessors...
show more ...
|
Revision tags: php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5, php-8.0.5RC1, php-7.4.18RC1 |
|
#
462da6e0 |
| 31-Mar-2021 |
Josh Soref |
Fix spelling and grammar mistakes This PR corrects misspellings identified by the check-spelling action. The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465
Fix spelling and grammar mistakes This PR corrects misspellings identified by the check-spelling action. The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465 The action reports that the changes in this PR would make it happy: jsoref@602417c Closes GH-6822.
show more ...
|
Revision tags: php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1, php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1, php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1 |
|
#
5caaf40b |
| 29-Sep-2020 |
George Peter Banyard |
Introduce pseudo-keyword ZEND_FALLTHROUGH And use it instead of comments |
#
9da66e6a |
| 01-Mar-2021 |
Dmitry Stogov |
Optimized object conversion to array without rebulding properties HashTable |
#
72c3eded |
| 26-Feb-2021 |
Dmitry Stogov |
Change the order of properties used for var_dump(), serialize(), comparison, etc. Now properties are ordered according to their layout in zend_object structure. |
#
db2e2af1 |
| 18-Feb-2021 |
Nikita Popov |
Fixed bug #53826 We should handle the case where the method doesn't exist, and where it is not visible the same way. |
#
1f04f162 |
| 16-Feb-2021 |
Nikita Popov |
Merge branch 'PHP-8.0' * PHP-8.0: Fixed bug #80723
|
#
cb9785ad |
| 16-Feb-2021 |
Nikita Popov |
Fixed bug #80723 This fixes the issue just for the Socket class. Presumably we'll want to do the same for other "resource" objects. |
#
3e01f5af |
| 15-Jan-2021 |
Nikita Popov |
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool is retained as an alias.
show more ...
|
#
28e21d80 |
| 16-Oct-2020 |
Nikita Popov |
Fix leak when setting dynamic property on generator |
Revision tags: php-7.4.11, php-7.3.23, php-8.0.0beta4 |
|
#
a009d370 |
| 15-Sep-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Fix assumption about property guard hash value
|
#
2bbf2a91 |
| 15-Sep-2020 |
Nikita Popov |
Fix assumption about property guard hash value The "member" string here does not necessarily have a pre-calculated hash value. In particular this is not the case if the class has no
Fix assumption about property guard hash value The "member" string here does not necessarily have a pre-calculated hash value. In particular this is not the case if the class has no properties. Fixes oss-fuzz #25546.
show more ...
|
#
da0663a3 |
| 15-Sep-2020 |
Nikita Popov |
Add GC_TRY_ADDREF macro That adds a ref if not immutable. Also audit uses of GC_IMMUTABLE to either use GC_TRY_ADDREF or GC_TRY_PROTECT_RECURSION. |
Revision tags: php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10 |
|
#
88a8ebce |
| 01-Sep-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Check for null EX(func) in write_property
|
#
f92a0362 |
| 01-Sep-2020 |
Nikita Popov |
Check for null EX(func) in write_property This can happen if zend_call_function inserted a dummy frame, and we already switched to the dummy frame in leave_helper, and an exception i
Check for null EX(func) in write_property This can happen if zend_call_function inserted a dummy frame, and we already switched to the dummy frame in leave_helper, and an exception is thrown during CV destruction. Fixes oss-fuzz #25343.
show more ...
|
Revision tags: php-7.3.22 |
|
#
570f463f |
| 31-Aug-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Fix bug #80037
|