summaryrefslogtreecommitdiff
path: root/plugin/business/pangu-http/src/pattern_replace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/business/pangu-http/src/pattern_replace.cpp')
-rw-r--r--plugin/business/pangu-http/src/pattern_replace.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugin/business/pangu-http/src/pattern_replace.cpp b/plugin/business/pangu-http/src/pattern_replace.cpp
index f24d2cf..4b7f2ad 100644
--- a/plugin/business/pangu-http/src/pattern_replace.cpp
+++ b/plugin/business/pangu-http/src/pattern_replace.cpp
@@ -336,10 +336,15 @@ void simple_replace(const char* find, const char* replacement, const char* input
{
char* exec_para=NULL;
asprintf(&exec_para,"zone=http_resp_body;substitute=/%s/%s", find, replacement);
- size_t n_got_rule=0;
+ size_t n_got_rule=0, i=0;
struct replace_rule rules[16];
n_got_rule=format_replace_rule(exec_para, rules, sizeof(rules)/sizeof(rules[0]));
*output_sz=execute_replace_rule(input, strlen(input), kZoneResponseBody, rules, n_got_rule, output, options);
+ for(i=0; i<n_got_rule; i++)
+ {
+ FREE(&(rules[i].find));
+ FREE(&(rules[i].replace_with));
+ }
free(exec_para);
return;
}