diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-10-08 14:33:01 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-10-08 14:33:01 +0200 |
commit | d98497615c7a903d94b8438e08950ed8bca456fd (patch) | |
tree | 3c9fcf6c440c0f0864d6719a719ff5bbeafeea79 | |
parent | a11f85805a869d0d7497d0d8b149ee3db2467b57 (diff) | |
parent | ad3ddf46f9f5c97c43f04612bb448fcd109e2926 (diff) | |
download | php-git-d98497615c7a903d94b8438e08950ed8bca456fd.tar.gz |
Merge branch 'PHP-7.4'
-rw-r--r-- | Zend/tests/bug78644.phpt | 16 | ||||
-rw-r--r-- | Zend/zend_execute.c | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/Zend/tests/bug78644.phpt b/Zend/tests/bug78644.phpt new file mode 100644 index 0000000000..3889e9fb05 --- /dev/null +++ b/Zend/tests/bug78644.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #78644: SEGFAULT in ZEND_UNSET_OBJ_SPEC_VAR_CONST_HANDLER +--FILE-- +<?php + +$a = new stdClass; +unset($a->b->c->d); +unset($a->b->c['d']); +var_dump($a); + +?> +--EXPECT-- +object(stdClass)#1 (1) { + ["b"]=> + NULL +} diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 5aaf415adf..dc029aa387 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2630,6 +2630,7 @@ static zend_always_inline void zend_fetch_property_address(zval *result, zval *c /* this should modify object only if it's empty */ if (type == BP_VAR_UNSET) { + ZVAL_NULL(result); return; } |