From e99af978c81ecbe9ecad3dd799231d454755b6a9 Mon Sep 17 00:00:00 2001 From: Dragan Dosen Date: Tue, 30 Apr 2019 01:03:26 +0200 Subject: [PATCH] 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. --- src/pattern.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pattern.c b/src/pattern.c index acb78e38d..49d05a106 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); }