From: Xinchen Hui Date: Mon, 24 Feb 2014 10:15:40 +0000 (+0800) Subject: Fixed memory leak in strrev X-Git-Tag: POST_PHPNG_MERGE~412^2~556^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=57a3feb4225566ed9dda92d0e1e5c08c11a3448f;p=php Fixed memory leak in strrev --- diff --git a/ext/standard/string.c b/ext/standard/string.c index 1e8e55be93..be4d874b06 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -3121,15 +3121,16 @@ PHP_FUNCTION(strtr) PHP_FUNCTION(strrev) { char *str; - char *e, *n, *p; + char *e, *p; int str_len; + zend_string *n; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { return; } - n = emalloc(str_len+1); - p = n; + n = STR_ALLOC(str_len, 0); + p = n->val; e = str + str_len; @@ -3139,8 +3140,7 @@ PHP_FUNCTION(strrev) *p = '\0'; -//??? RETVAL_STRINGL(n, str_len, 0); - RETVAL_STRINGL(n, str_len); + RETVAL_STR(n); } /* }}} */