summaryrefslogtreecommitdiff
path: root/ext/standard/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/string.c')
-rw-r--r--ext/standard/string.c3
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;