--- /dev/null
+--TEST--
+parse_str() should not read uninitialized memory when checking for $this
+--FILE--
+<?php
+
+function test() {
+ // strlen("abcd") == 4 is relevant
+ parse_str('abcd=1', $array);
+ var_dump($array);
+}
+
+test();
+
+?>
+--EXPECT--
+array(1) {
+ ["abcd"]=>
+ string(1) "1"
+}
while (ex) {
if (ex->func && ZEND_USER_CODE(ex->func->common.type)) {
- if (ex->symbol_table == symtable1) {
+ if ((ZEND_CALL_INFO(ex) & ZEND_CALL_HAS_SYMBOL_TABLE)
+ && ex->symbol_table == symtable1) {
if (memcmp(var, "this", sizeof("this")-1) == 0) {
zend_throw_error(NULL, "Cannot re-assign $this");
zval_dtor(val);