From: Xinchen Hui Date: Sat, 22 Feb 2014 12:19:12 +0000 (+0800) Subject: Fixed segfault in ext/standard/tests/strings/bug24208.php X-Git-Tag: POST_PHPNG_MERGE~412^2~583 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b1fb93b4822b68f7ef1e8f59bc1b3d7630212715;p=php Fixed segfault in ext/standard/tests/strings/bug24208.php it still ugly,, maybe we should make EG(active_symbol_table) a zend_array? --- diff --git a/ext/standard/string.c b/ext/standard/string.c index 8aa0d5970c..759839433d 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -4443,7 +4443,11 @@ PHP_FUNCTION(parse_str) zend_rebuild_symbol_table(TSRMLS_C); } //??? Z_ARRVAL(tmp) = EG(active_symbol_table); + array_init(&tmp); + zend_hash_copy(Z_ARRVAL(tmp), EG(active_symbol_table), zval_add_ref); sapi_module.treat_data(PARSE_STRING, res, &tmp TSRMLS_CC); + zend_hash_copy(EG(active_symbol_table), Z_ARRVAL(tmp), zval_add_ref); + zval_dtor(&tmp); } else { zval ret;