summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-03-23 00:46:48 +0300
committerDmitry Stogov <dmitry@zend.com>2016-03-23 00:46:48 +0300
commitbc49f8b4383a930cc280a43518e9181ef8fde49c (patch)
treed10ab341c2c50e48168f596299da32e3fde38cf0
parentd8b75b0807a5d94bd7b6b175d56aba8bc5be8d7a (diff)
downloadphp-git-bc49f8b4383a930cc280a43518e9181ef8fde49c.tar.gz
Fixed possible memory leak.
-rw-r--r--Zend/zend_compile.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index a8ccc2602c..9b79202014 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -3798,6 +3798,10 @@ void zend_compile_global_var(zend_ast *ast) /* {{{ */
zend_op *opline = zend_emit_op(&result, ZEND_FETCH_W, &name_node, NULL);
opline->extended_value = ZEND_FETCH_GLOBAL_LOCK;
+ if (name_node.op_type == IS_CONST) {
+ zend_string_addref(Z_STR(name_node.u.constant));
+ }
+
zend_emit_assign_ref_znode(
zend_ast_create(ZEND_AST_VAR, zend_ast_create_znode(&name_node)),
&result