diff options
Diffstat (limited to 'ext/standard/string.c')
-rw-r--r-- | ext/standard/string.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index 1305e7f920..2b753727d7 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -4614,6 +4614,9 @@ PHP_FUNCTION(parse_str) symbol_table = zend_rebuild_symbol_table(); ZVAL_ARR(&tmp, symbol_table); sapi_module.treat_data(PARSE_STRING, res, &tmp); + if (UNEXPECTED(zend_hash_del(symbol_table, CG(known_strings)[ZEND_STR_THIS]) == SUCCESS)) { + zend_throw_error(NULL, "Cannot re-assign $this"); + } } else { zval ret; |