]> granicus.if.org Git - php/commit
Prevent reference-counting on persistent zvals (internal constants, default propertie...
authorDmitry Stogov <dmitry@zend.com>
Mon, 30 Oct 2017 20:13:10 +0000 (23:13 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 30 Oct 2017 20:13:10 +0000 (23:13 +0300)
commitfcc08ce19f39f7ab1381ecc8a010037d41819329
treec390b9b848758ad8e8b79b8f11e9a798a7de039d
parentdc4427d0caf2d066cd01f91fd0e899217fbceb30
Prevent reference-counting on persistent zvals (internal constants, default properties and constants of internal classes).
New macro ZVAL_COPY_OR_DUP() is used perform duplication, if necessary.
This should eliminate related race-coditions in ZTS build and prevent reference-counting bugs after unclean shutdown.
13 files changed:
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_builtin_functions.c
Zend/zend_compile.c
Zend/zend_execute_API.c
Zend/zend_inheritance.c
Zend/zend_opcode.c
Zend/zend_types.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/opcache/Optimizer/pass1_5.c
ext/reflection/php_reflection.c
ext/standard/basic_functions.c