BUG/MAJOR: patterns: fix double free caused by loading strings from files

A null pointer assignment was missing after a free in commit 7148ce6 (MEDIUM:
pattern: Extract the index process from the pat_parse_*() functions), causing
a double free after loading a file of string patterns.

This bug was introduced in 1.5-dev20, no backport is needed.

Thanks to Sander Klein for reporting this bug and providing the config
needed to trigger it.
This commit is contained in:
Willy Tarreau 2013-12-16 10:40:28 +01:00
parent 2cff2f7bb8
commit 6762a3061a

View File

@ -882,6 +882,7 @@ int pattern_register(struct pattern_expr *expr, const char **args,
/* the "map_parser_str()" function always duplicate string information */
free((*pattern)->ptr.str);
(*pattern)->ptr.str = NULL;
/* we pre-set the data pointer to the tree's head so that functions
* which are able to insert in a tree know where to do that.