Commit:    2768315856be2c2df291b275b76d90fb6ef09414
Author:    Nikita Popov <ni...@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 ';'


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to