mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
fix memleak in php_domxslt_string_to_xpathexpr
This commit is contained in:
parent
61f70a3cb7
commit
e0b4533eeb
@ -5051,6 +5051,9 @@ static char *php_domxslt_string_to_xpathexpr(const char *str TSRMLS_DC)
|
||||
const xmlChar *string = (const xmlChar *)str;
|
||||
|
||||
xmlChar *value;
|
||||
int str_len;
|
||||
|
||||
str_len = xmlStrlen(string) + 3;
|
||||
|
||||
if (xmlStrchr(string, '"')) {
|
||||
if (xmlStrchr(string, '\'')) {
|
||||
@ -5058,13 +5061,11 @@ static char *php_domxslt_string_to_xpathexpr(const char *str TSRMLS_DC)
|
||||
get_active_function_name(TSRMLS_C));
|
||||
return NULL;
|
||||
}
|
||||
value = xmlStrdup((const xmlChar *)"'");
|
||||
value = xmlStrcat(value, string);
|
||||
value = xmlStrcat(value, (const xmlChar *)"'");
|
||||
value = (xmlChar*) emalloc (str_len * sizeof(xmlChar *) );
|
||||
snprintf(value, str_len, "'%s'", string);
|
||||
} else {
|
||||
value = xmlStrdup((const xmlChar *)"\"");
|
||||
value = xmlStrcat(value, string);
|
||||
value = xmlStrcat(value, (const xmlChar *)"\"");
|
||||
value = (xmlChar*) emalloc (str_len * sizeof(xmlChar *) );
|
||||
snprintf(value, str_len, "\"%s\"", string);
|
||||
}
|
||||
|
||||
return (char *)value;
|
||||
|
Loading…
Reference in New Issue
Block a user