]> granicus.if.org Git - php/commitdiff
Fixed invalid read in CONST_STRING dereference, reported by Nikic
authorXinchen Hui <laruence@php.net>
Wed, 25 Jul 2012 16:29:39 +0000 (00:29 +0800)
committerXinchen Hui <laruence@php.net>
Wed, 25 Jul 2012 16:29:39 +0000 (00:29 +0800)
Zend/zend_language_parser.y

index e397fe138b9f7746e1483b386ae2048245d37df5..c88e9a7c004e8dff5b2f8724bf9551bfbd793f84 100644 (file)
@@ -802,7 +802,7 @@ expr_without_variable:
 combined_scalar_offset:
          combined_scalar '[' dim_offset ']' { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); }
        | combined_scalar_offset '[' dim_offset ']' { fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); }
-    | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); }
+    | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { $1.EA = 0; zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); }
 
 combined_scalar:
       T_ARRAY '(' array_pair_list ')' { $$ = $3; }