com php-src: Add missing zend_do_free call: Zend/zend _language_parser.y
| From: | Nikita Popov | Date: | Wed, 19 Dec 2012 14:21:34 +0000 |
| Subject: | com php-src: Add missing zend_do_free call: Zend/zend _language_parser.y | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-70763@lists.php.net to get a copy of this message | ||
Commit: 2768315856be2c2df291b275b76d90fb6ef09414
Author: Nikita Popov <nikic@php.net> Wed, 19 Dec 2012 15:21:34 +0100
Parents: 828bb4d44d9d07cb2510dc0bced1da931b78791c
Branches: PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2768315856be2c2df291b275b76d90fb6ef09414
Log:
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.
Changed paths:
M Zend/zend_language_parser.y
Diff:
diff --git a/Zend/zend_language_parser..y b/Zend/zend_language_parser.y
index c1514c5..c97361b 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 ';'