fix memleak in php_domxslt_string_to_xpathexpr

This commit is contained in:
Christian Stocker 2002-08-27 06:54:21 +00:00
parent 61f70a3cb7
commit e0b4533eeb

View File

@ -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;