#
73d02c3b |
| 15-Apr-2020 |
Nicolas Grekas |
Fix bug #79447 Partially reverts 846b6479537a112d1ded725e6484e46462048b35: instead of throwing, this skips uninitialized typed properties when serializing objects. This makes se
Fix bug #79447 Partially reverts 846b6479537a112d1ded725e6484e46462048b35: instead of throwing, this skips uninitialized typed properties when serializing objects. This makes serialize with __sleep() behave the same as serialize() without __sleep(). As in the non-__sleep() case, unserialize(serialize($x)) identity may not be preserved due to replacement of uninitialized/unset properties with default values. Fixing this will require changes to the serialization format. Closes GH-5396.
show more ...
|
#
657f756c |
| 18-Apr-2020 |
Nicolas Grekas |
Skip non-existing properties returned by __sleep() |
#
1f48feeb |
| 13-Apr-2020 |
Máté Kocsis |
Improve some TypeError and ValueError messages Closes GH-5377 |
#
a9398056 |
| 12-Feb-2020 |
Nikita Popov |
Use serialize_precision for var_dump() var_dump() is debugging functionality, so it should print floating-point numbers accurately. We do this by switching to serialize_precision, wh
Use serialize_precision for var_dump() var_dump() is debugging functionality, so it should print floating-point numbers accurately. We do this by switching to serialize_precision, which (by default) will print with as much precision as necessary to preserve the exact value of the float. This also affects debug_zval_dump(). Closes GH-5172.
show more ...
|
#
ae6f45ad |
| 12-Feb-2020 |
Nikita Popov |
var_dump(): Don't skip recursion detection on first level This is confusing. The current output doesn't make it clear that we're in fact recursing to the top-level structure. Cl
var_dump(): Don't skip recursion detection on first level This is confusing. The current output doesn't make it clear that we're in fact recursing to the top-level structure. Closes GH-5171.
show more ...
|
#
58b17906 |
| 03-Feb-2020 |
Nikita Popov |
Apply tidy formatting Mostly reindent PHP scripts to spaces. |
#
b22daa3a |
| 06-Jan-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Throw Error when referencing uninit typed prop in __sleep
|
#
846b6479 |
| 03-Jan-2020 |
Nikita Popov |
Throw Error when referencing uninit typed prop in __sleep Previously this generated a notice, but would likely generate an Error when unserializing. Now we treat it with the sam
Throw Error when referencing uninit typed prop in __sleep Previously this generated a notice, but would likely generate an Error when unserializing. Now we treat it with the same distinction as direct property accesses, i.e. referencing an unset/undefined normal property stays a notice, while a typed property becomes an Error exception. This fixed bug #79002. Closes GH-5050.
show more ...
|
#
aadd3aae |
| 03-Jan-2020 |
Máté Kocsis |
Use RETURN_THROWS() in various places |
#
0d35f8e3 |
| 02-Jan-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Populate hashtable of __sleep() properties Deref names returned by __sleep() Extract php_var_serialize_nested_data() function
|
#
90fea675 |
| 02-Jan-2020 |
Nikita Popov |
Populate hashtable of __sleep() properties Instead of populating a hashtable of property names and then directly serializing. This has the advantage of a) detecting duplicate pr
Populate hashtable of __sleep() properties Instead of populating a hashtable of property names and then directly serializing. This has the advantage of a) detecting duplicate properties more precisely and b) gives us the ability to discard values without rewriting the serialization string after the fact for GH-5027.
show more ...
|
#
de0ca473 |
| 02-Jan-2020 |
Nikita Popov |
Deref names returned by __sleep() |
#
701e8c66 |
| 02-Jan-2020 |
Nikita Popov |
Extract php_var_serialize_nested_data() function And split code-paths for arrays and objects based on it. |
#
4782e8e2 |
| 11-Dec-2019 |
George Peter Banyard |
Return empty string instead of NULL in serialize(). Modifiy its return type accordingly and arginfo. |
#
3b0a1905 |
| 10-Dec-2019 |
Máté Kocsis |
Promote warning to exception in unserialize() |
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0 |
|
#
0e20220c |
| 25-Nov-2019 |
Christoph M. Becker |
Merge branch 'PHP-7.4' * PHP-7.4: Fix #77638: var_export'ing certain class instances segfaults
|
#
717730dd |
| 25-Nov-2019 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #77638: var_export'ing certain class instances segfaults
|
#
23c65a81 |
| 25-Nov-2019 |
Christoph M. Becker |
Fix #77638: var_export'ing certain class instances segfaults If objects return immutable property hash tables (typically, `zend_empty_array`), we must not try to apply recursion protecti
Fix #77638: var_export'ing certain class instances segfaults If objects return immutable property hash tables (typically, `zend_empty_array`), we must not try to apply recursion protection on those.
show more ...
|
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, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1 |
|
#
647b1c7f |
| 07-Oct-2019 |
Nikita Popov |
Remove most uses of ZEND_PARSE_PARAMETERS_END_EX() As ZPP now throws, it makes no sense to specify an explicit return value. |
Revision tags: php-7.4.0RC3 |
|
#
1cde9e85 |
| 30-Sep-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
Revision tags: php-7.2.23 |
|
#
1806ce9c |
| 24-Sep-2019 |
Nikita Popov |
Add max_depth option to unserialize() Add a max_depth option to unserialize and an unserialize_max_depth ini setting, which can be used to control the depth limit. The default value
Add max_depth option to unserialize() Add a max_depth option to unserialize and an unserialize_max_depth ini setting, which can be used to control the depth limit. The default value is 4096. This option is intended to prevent stack overflows during the unserialization of deeply nested structures. This fixes bug #78549 and addresses oss-fuzz #17581, #17589, #17664, and #17788.
show more ...
|
#
5d6e923d |
| 24-Sep-2019 |
Gabriel Caruso |
Remove mention of PHP major version in Copyright headers Closes GH-4732. |
Revision tags: php-7.3.10 |
|
#
6276dd82 |
| 23-Sep-2019 |
Nikita Popov |
Use ZEND_TYPE_IS_SET() when checking for property types Instead of a simple if or 0 comparison. This would no longer work if zend_type is a struct. |
#
9e8ba789 |
| 19-Sep-2019 |
Nikita Popov |
Change representation of zend_type from type code to MAY_BE_* mask This switches zend_type from storing a single IS_* type code to storing a MAY_BE_* type mask. Right now most code still
Change representation of zend_type from type code to MAY_BE_* mask This switches zend_type from storing a single IS_* type code to storing a MAY_BE_* type mask. Right now most code still assumes that there is only a single type in the mask (or two together with MAY_BE_NULL). But this will make it a lot simpler to introduce union types. An additional advantage (and why I'm doing this separately), is that a number of special cases no longer need to be handled separately: We can do a single mask & (1 << type) check to handle all simple types, booleans (true|false) and null.
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, 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, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, 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, 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 ...
|