From: Xinchen Hui Date: Fri, 21 Feb 2014 08:39:59 +0000 (+0800) Subject: Fixed segfault in ext/standard/tests/strings/add-and-stripslashes.phpt X-Git-Tag: POST_PHPNG_MERGE~412^2~597^2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8211026fa7d34b34262d7a3d84395bd83aeb74f4;p=php Fixed segfault in ext/standard/tests/strings/add-and-stripslashes.phpt --- diff --git a/ext/standard/string.c b/ext/standard/string.c index 6a96b3cecd..8aa0d5970c 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -3318,8 +3318,8 @@ PHP_FUNCTION(addcslashes) Escapes single quote, double quotes and backslash characters in a string with backslashes */ PHP_FUNCTION(addslashes) { - char *str; - int str_len; + char *str, *new_str; + int str_len, new_len; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { return; @@ -3333,10 +3333,9 @@ PHP_FUNCTION(addslashes) //??? str_len, //??? &Z_STRLEN_P(return_value), 0 //??? TSRMLS_CC), 0); - RETURN_STRING(php_addslashes(str, - str_len, - &Z_STRLEN_P(return_value), 0 - TSRMLS_CC)); + new_str = php_addslashes(str, str_len, &new_len, 0 TSRMLS_CC); + RETVAL_STRINGL(new_str, new_len); + efree(new_str); } /* }}} */