From: Dragan Dosen Date: Mon, 29 Apr 2019 23:03:26 +0000 (+0200) Subject: BUG/MEDIUM: pattern: fix memory leak in regex pattern functions X-Git-Tag: v2.0-dev3~135 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e99af978c81ecbe9ecad3dd799231d454755b6a9;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: pattern: fix memory leak in regex pattern functions The allocated regex is not freed properly and can cause a memory leak, eg. when patterns are updated via CLI socket. This patch should be backported to all supported versions. --- diff --git a/src/pattern.c b/src/pattern.c index acb78e38da..49d05a106b 100644 --- a/src/pattern.c +++ b/src/pattern.c @@ -1142,6 +1142,7 @@ void pat_prune_reg(struct pattern_expr *expr) list_for_each_entry_safe(pat, tmp, &expr->patterns, list) { regex_free(pat->pat.ptr.ptr); + free(pat->pat.ptr.ptr); free(pat->pat.data); free(pat); } @@ -1561,6 +1562,7 @@ void pat_del_list_reg(struct pattern_expr *expr, struct pat_ref_elt *ref) /* Delete and free entry. */ LIST_DEL(&pat->list); regex_free(pat->pat.ptr.ptr); + free(pat->pat.ptr.ptr); free(pat->pat.data); free(pat); }