BUG/MEDIUM: pattern: Pattern node has type of "struct pat_idx_elt" in place of "struct eb_node"

The free() function must free the "struct pat_idx_elt".

This bug was introduced by commit ed66c29 (REORG: acl/pattern: extract
pattern matching from the acl file and create pattern.c), no backport
is needed.
This commit is contained in:
Thierry FOURNIER 2013-12-09 11:29:46 +01:00 committed by Willy Tarreau
parent 9667a80676
commit 3ce88c76a0

View File

@ -769,11 +769,14 @@ void free_pattern_list(struct list *head)
void free_pattern_tree(struct eb_root *root)
{
struct eb_node *node, *next;
struct pat_idx_elt *elt;
node = eb_first(root);
while (node) {
next = eb_next(node);
eb_delete(node);
free(node);
elt = container_of(node, struct pat_idx_elt, node);
free(elt);
node = next;
}
}