diff options
author | Nikita Popov <nikic@php.net> | 2012-12-19 15:21:34 +0100 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2012-12-19 15:21:34 +0100 |
commit | 2768315856be2c2df291b275b76d90fb6ef09414 (patch) | |
tree | c1932b6ecdb40a5532f9e5f1d33c8e0c6223ac07 /Zend/zend_language_parser.y | |
parent | 828bb4d44d9d07cb2510dc0bced1da931b78791c (diff) | |
download | php-git-2768315856be2c2df291b275b76d90fb6ef09414.tar.gz |
Add missing zend_do_free call
This is a followup to d53f1bf8ab. When the yield *statement* is used its
return value still needs to be freed.
Diffstat (limited to 'Zend/zend_language_parser.y')
-rw-r--r-- | Zend/zend_language_parser.y | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index c1514c5d78..c97361b20b 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -300,7 +300,7 @@ unticked_statement: | T_RETURN ';' { zend_do_return(NULL, 0 TSRMLS_CC); } | T_RETURN expr_without_variable ';' { zend_do_return(&$2, 0 TSRMLS_CC); } | T_RETURN variable ';' { zend_do_return(&$2, 1 TSRMLS_CC); } - | yield_expr ';' { $$ = $1; } + | yield_expr ';' { zend_do_free(&$1 TSRMLS_CC); } | T_GLOBAL global_var_list ';' | T_STATIC static_var_list ';' | T_ECHO echo_expr_list ';' |