]> granicus.if.org Git - php/commitdiff
Fixed possible memory leak.
authorDmitry Stogov <dmitry@zend.com>
Tue, 22 Mar 2016 21:46:48 +0000 (00:46 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 22 Mar 2016 21:46:48 +0000 (00:46 +0300)
Zend/zend_compile.c

index a8ccc2602c9b0f53fdf9bd1ba9c0ad4eac3075ec..9b79202014dfffa036e5c3609cc61e129f40b0ba 100644 (file)
@@ -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