mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 05:45:59 +03:00
Merge pull request #3199 from airween/v2/xmlfreefix
Move xmlFree() call to the right place
This commit is contained in:
commit
36601843b2
@ -745,13 +745,12 @@ static int var_xml_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Create one variable for each node in the result. */
|
/* Create one variable for each node in the result. */
|
||||||
|
char* content = NULL;
|
||||||
for(i = 0; i < nodes->nodeNr; i++) {
|
for(i = 0; i < nodes->nodeNr; i++) {
|
||||||
msre_var *rvar = NULL;
|
msre_var *rvar = NULL;
|
||||||
char *content = NULL;
|
|
||||||
|
|
||||||
content = (char *)xmlNodeGetContent(nodes->nodeTab[i]);
|
content = (char *)xmlNodeGetContent(nodes->nodeTab[i]);
|
||||||
if (content != NULL) {
|
if (content != NULL) {
|
||||||
xmlFree(content);
|
|
||||||
rvar = apr_pmemdup(mptmp, var, sizeof(msre_var));
|
rvar = apr_pmemdup(mptmp, var, sizeof(msre_var));
|
||||||
if (!rvar) {
|
if (!rvar) {
|
||||||
msr_log(msr, 1, "XML: Memory allocation error");
|
msr_log(msr, 1, "XML: Memory allocation error");
|
||||||
@ -766,12 +765,15 @@ static int var_xml_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
}
|
}
|
||||||
rvar->value_len = strlen(rvar->value);
|
rvar->value_len = strlen(rvar->value);
|
||||||
apr_table_addn(vartab, rvar->name, (void *)rvar);
|
apr_table_addn(vartab, rvar->name, (void *)rvar);
|
||||||
|
xmlFree(content);
|
||||||
|
content = NULL;
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var_xml_generate_Error:
|
var_xml_generate_Error:
|
||||||
|
if (content != NULL) xmlFree(content);
|
||||||
xmlXPathFreeObject(xpathObj);
|
xmlXPathFreeObject(xpathObj);
|
||||||
xmlXPathFreeContext(xpathCtx);
|
xmlXPathFreeContext(xpathCtx);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user