]> granicus.if.org Git - php/commitdiff
Fix memory leak
authorNikita Popov <nikic@php.net>
Wed, 11 Mar 2015 08:23:29 +0000 (09:23 +0100)
committerNikita Popov <nikic@php.net>
Wed, 11 Mar 2015 08:23:29 +0000 (09:23 +0100)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index e64893886738bc1bbc335cbc0fc221666e760b6d..b6d7442dbaa47fbc3320d81b7f05769acbc59923 100644 (file)
@@ -2683,6 +2683,7 @@ ZEND_VM_C_LABEL(try_function_name):
                }
                if (UNEXPECTED((func = zend_hash_find(EG(function_table), lcname)) == NULL)) {
                        zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
+                       zend_string_release(lcname);
                        FREE_OP2();
                        HANDLE_EXCEPTION();
                }
index aa1cc1ae59917d0b07034d6339872982cf6efe3a..6180048915ebc7e8a70ac088d106c809e3c3c253 100644 (file)
@@ -1809,6 +1809,7 @@ try_function_name:
                }
                if (UNEXPECTED((func = zend_hash_find(EG(function_table), lcname)) == NULL)) {
                        zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
+                       zend_string_release(lcname);
 
                        HANDLE_EXCEPTION();
                }
@@ -2196,6 +2197,7 @@ try_function_name:
                }
                if (UNEXPECTED((func = zend_hash_find(EG(function_table), lcname)) == NULL)) {
                        zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
+                       zend_string_release(lcname);
 
                        HANDLE_EXCEPTION();
                }
@@ -2379,6 +2381,7 @@ try_function_name:
                }
                if (UNEXPECTED((func = zend_hash_find(EG(function_table), lcname)) == NULL)) {
                        zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
+                       zend_string_release(lcname);
                        zval_ptr_dtor_nogc(free_op2);
                        HANDLE_EXCEPTION();
                }