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.
This commit is contained in:
Dragan Dosen 2019-04-30 01:03:26 +02:00 committed by Willy Tarreau
parent 026ef570e1
commit e99af978c8

View File

@ -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);
}