From: Dmitry Stogov Date: Tue, 19 Feb 2019 16:21:36 +0000 (+0300) Subject: Fixed memory leak X-Git-Tag: php-7.4.0alpha1~970 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=723acab660081c2e8c023c34c0fadb088eb13244;p=php Fixed memory leak --- diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 9365e68a80..e93431de24 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2215,10 +2215,16 @@ skip_escape_conversion: if (SCNG(output_filter)) { size_t sz = 0; char *str = NULL; + zend_string *new_str; s = Z_STRVAL_P(zendlval); // TODO: avoid reallocation ??? SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval)); - ZVAL_STRINGL(zendlval, str, sz); + new_str = zend_string_init(str, sz, 0); + if (str != s) { + efree(str); + } + zend_string_release_ex(Z_STR_P(zendlval), 0); + ZVAL_STR(zendlval, new_str); } RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING); }