History log of /php-src/Zend/zend_object_handlers.c (Results 1 – 25 of 670)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# f47b7f1c 18-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Cleanup name handling in magic methods (#13733)

The copy was introduced in bc59289b7, and later changed in 57527455eb,
to prevent indirect modifications of magic method arguments.
Th

Cleanup name handling in magic methods (#13733)

The copy was introduced in bc59289b7, and later changed in 57527455eb,
to prevent indirect modifications of magic method arguments.
This is no longer necessary because we no longer deal with zvals, but
with string directly that the VM has retrieved either as a constant, or
via zval_try_get_tmp_string().

show more ...


# 87edeed3 13-Jan-2024 Michael Voříšek

Remove UNEXPECTED from typed prop checks

Closes GH-13143


# 8a392edd 02-Sep-2023 George Peter Banyard

Fix OSS Fuzz #61865: Undef variable in ++/-- for declared property that is unset in error handler

Reorder when we assign the property value to NULL which is identical to
a3a3964497922bcd

Fix OSS Fuzz #61865: Undef variable in ++/-- for declared property that is unset in error handler

Reorder when we assign the property value to NULL which is identical to
a3a3964497922bcd74282685218d90acea69c296

Just for the declared property case instead of dynamic.

Closes GH-12114

show more ...


# eee1617f 03-Sep-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Tweak behaviour of dynamic properties wrt error handlers

With the fix in https://github.com/php/php-src/pull/12114, the behaviour
would change for non-dynamic properties. Align the behav

Tweak behaviour of dynamic properties wrt error handlers

With the fix in https://github.com/php/php-src/pull/12114, the behaviour
would change for non-dynamic properties. Align the behaviour for dynamic
properties to be the same.

Closes GH-12117.

show more ...


# a3a39644 27-Aug-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix oss-fuzz #61712: assertion failure with error handler during binary op

Because the error handler is invoked after the property is updated,
the error handler has the opportunity to re

Fix oss-fuzz #61712: assertion failure with error handler during binary op

Because the error handler is invoked after the property is updated,
the error handler has the opportunity to remove it before the property
is returned.

Switching the order around fixes this issue. The comments mention that
the current ordering prevents overwriting the EG(std_property_info)
field in the error handler. EG(std_property_info) no longer exists as it
was removed in 7471c217. Back then a global was used to store the
returned property info, but as this is no longer the case there is no
longer a need to protect against overwriting a global.

Closes GH-12062.

show more ...


# 53aa53f4 24-Aug-2023 Jakub Zelenka

Introduce Zend guard recursion protection

This PR introduces a new way of recursion protection in JSON, var_dump
and friends. It fixes issue in master for __debugInfo and also improves

Introduce Zend guard recursion protection

This PR introduces a new way of recursion protection in JSON, var_dump
and friends. It fixes issue in master for __debugInfo and also improves
perf for jsonSerializable in some cases. More info can be found in
GH-10020.

Closes GH-11812

show more ...


# efc73f24 07-Aug-2023 Ilija Tovilo

Revert "Call cast_object handler from get_properties_for"

This reverts commit 4182813ebffe0570e3741debd7da543df3517d0d.


# 4182813e 30-Jun-2023 Ilija Tovilo

Call cast_object handler from get_properties_for

Fixes GH-11547
Closes GH-11583


# 0c65b396 10-Apr-2023 Dmitry Stogov

Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties (#11048)


# 24acb4f1 02-Mar-2023 Dmitry Stogov

Delay destructor for zend_std_write_property


# 4e0bd036 23-Mar-2023 Ilija Tovilo

Reset EG(trampoline).op_array.last_var that FFI may modify

Closes GH-10916


# e053ba0a 03-Mar-2023 Máté Kocsis

Do not allow side-effects when readonly property modification fails (#10757)


# 3bcf2c37 28-Feb-2023 Máté Kocsis

Allow readonly properties to be reinitialized once during cloning (#10389)

RFC: https://wiki.php.net/rfc/readonly_amendments


# d5c649b3 23-Feb-2023 Max Kellermann

zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621)

`zend_uchar` suggests that the value is an ASCII character, but here,
it's about very small integers. This is misleadi

zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621)

`zend_uchar` suggests that the value is an ASCII character, but here,
it's about very small integers. This is misleading, so let's use a
C99 integer instead.

On all architectures currently supported by PHP, `zend_uchar` and
`uint8_t` are identical. This change is only about code readability.

show more ...


# 413844d6 18-Feb-2023 Max Kellermann

Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)

These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in

Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)

These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in main/php.h.

show more ...


# d2cdfdbe 04-Feb-2023 rj1

fixed some misspellings (#10503)


# 47ed1904 28-Dec-2022 Ilija Tovilo

Fix use-after-free in write_property when object is released

Fixes GH-10169
Closes GH-10179


# 8d21a6b2 17-Jan-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix UNEXPECTED() paren mistakes.

This corrects the paren placement to the intended one.
As these functions use zend_result, the success value is zero. Therefore
this has no functiona

Fix UNEXPECTED() paren mistakes.

This corrects the paren placement to the intended one.
As these functions use zend_result, the success value is zero. Therefore
this has no functional change. The only difference is that this now
hints the compiler optimizer correctly.

Closes GH-10364.

show more ...


# 6556601b 16-Jan-2023 George Peter Banyard

Add some const qualifiers and better return types to zend_object_handlers.h (#10330)

I initially wanted to add them to the zend_strings but because they are used in zend_hash_find() which mi

Add some const qualifiers and better return types to zend_object_handlers.h (#10330)

I initially wanted to add them to the zend_strings but because they are used in zend_hash_find() which might modify the hash field.

show more ...


# c8955c07 16-Jan-2023 Christoph M. Becker

Revert GH-10220

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit ecc880f491d66081298a16634629f149459706a9.
This reverts commit 588a07

Revert GH-10220

Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>.

This reverts commit ecc880f491d66081298a16634629f149459706a9.
This reverts commit 588a07f7371ee2b5fac17de147926780e427fae6.
This reverts commit f377e15751d3aa48b69cd9bcc366ede7803d511f.
This reverts commit b4ba16fe189b109144aff669e11d81365160104b.
This reverts commit 694ec1deea36e366b28b6349a52be49824e1a1a8.
This reverts commit 6b34de8eba9f66882ae16e6073af28783670ac53.
This reverts commit aa1cd02a4367834026ea2205ea13a2f904455aa1.
This reverts commit 308fd311ea6fcf3094b448df7f2b264f08e4fe4f.
This reverts commit 16203b53e1822a37b6ba6f2ab198bb435d05fdad.
This reverts commit 738fb5ca5412f5e833a7fab82b11519e635a3357.
This reverts commit 9fdbefacd3c382d731aa175b7bdc002ec9cb2b30.
This reverts commit cd4a7c1d90562ebb5f89caf94d00d579631b9fbe.
This reverts commit 928685eba2b2f0ded90e7f78fd806ea164002f6e.
This reverts commit 01e5ffc85cd4357fd7b5b7ceefa29f2d10ca26b7.

show more ...


# b4ba16fe 04-Jan-2023 Max Kellermann

Zend/zend_object_handlers: include cleanup


# d03025bf 07-Jan-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-10251: Assertion `(flag & (1<<3)) == 0' failed.

zend_get_property_guard previously assumed that at least "str" has a
pre-computed hash. This is not always the case, for example wh

Fix GH-10251: Assertion `(flag & (1<<3)) == 0' failed.

zend_get_property_guard previously assumed that at least "str" has a
pre-computed hash. This is not always the case, for example when a
string is created by bitwise operations, its hash is not set. Instead of
forcing a computation of the hashes, drop the hash comparison.

Closes GH-10254

Co-authored-by: Changochen <changochen1@gmail.com>

Signed-off-by: George Peter Banyard <girgias@php.net>

show more ...


# d48c5372 03-Jan-2023 Max Kellermann

Zend/zend_object_handlers: make several pointers const


Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23
# 4842edea 26-Aug-2022 Ilija Tovilo

Improve magic __get and property type inconsistency error message

Fixes GH-9388
Closes GH-9436


Revision tags: php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3
# 40908b10 01-Jul-2022 Ilija Tovilo

Merge branch 'PHP-8.1'

* PHP-8.1:
Disallow assigning reference to unset readonly property


12345678910>>...27