From: Nuno Lopes Date: Sun, 1 Jan 2012 22:45:58 +0000 (+0000) Subject: fix memory leak in compile_string when there's a parse error (used e.g. in eval or... X-Git-Tag: php-5.5.0alpha1~654 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a542baa720f492fe00ac5f9a272cbaa0137d29e4;p=php fix memory leak in compile_string when there's a parse error (used e.g. in eval or assert) --- diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 629168f813..7668798297 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -756,6 +756,8 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) if (compiler_result==1) { CG(active_op_array) = original_active_op_array; CG(unclean_shutdown)=1; + destroy_op_array(op_array TSRMLS_CC); + efree(op_array); retval = NULL; } else { zend_do_return(NULL, 0 TSRMLS_CC); diff --git a/tests/lang/019.phpt b/tests/lang/019.phpt index 6c0a1cab62..be65fb0db8 100644 --- a/tests/lang/019.phpt +++ b/tests/lang/019.phpt @@ -3,8 +3,6 @@ eval() test --FILE--