diff options
Diffstat (limited to 'plugin/business/pangu-http/src/pattern_replace.cpp')
| -rw-r--r-- | plugin/business/pangu-http/src/pattern_replace.cpp | 7 |
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; } |
