diff --git a/NEWS b/NEWS index 5d805e77b22..cea3e9b1db1 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ PHP NEWS - Core: . Fixed bug GH-19934 (CGI with auto_globals_jit=0 causes uouv). (ilutov) + . Fixed bug GH-20073 (Assertion failure in WeakMap offset operations on + reference). (nielsdos) 09 Oct 2025, PHP 8.4.14 diff --git a/Zend/tests/weakrefs/gh20073.phpt b/Zend/tests/weakrefs/gh20073.phpt new file mode 100644 index 00000000000..b64c1a68d3c --- /dev/null +++ b/Zend/tests/weakrefs/gh20073.phpt @@ -0,0 +1,15 @@ +--TEST-- +GH-20073 (Assertion failure in WeakMap offset operations on reference) +--FILE-- +offsetGet($obj)); +?> +--EXPECT-- +int(2) +int(2) diff --git a/Zend/zend_weakrefs.c b/Zend/zend_weakrefs.c index 8c81f6816bd..1178c1656c9 100644 --- a/Zend/zend_weakrefs.c +++ b/Zend/zend_weakrefs.c @@ -722,7 +722,7 @@ ZEND_METHOD(WeakMap, offsetGet) RETURN_THROWS(); } - ZVAL_COPY(return_value, zv); + RETURN_COPY_DEREF(zv); } ZEND_METHOD(WeakMap, offsetSet)