From bad3c6f1b6d776e5d9951a3b3054b4dce8922c54 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 26 Nov 2014 13:17:03 +0100 Subject: [PATCH 1/2] BUG/MEDIUM: patterns: previous fix was incomplete Dmitry Sivachenko reported that commit 315ec42 ("BUG/MEDIUM: pattern: don't load more than once a pattern list.") relies on an uninitialised variable in the stack. While it used to work fine during the tests, if the uninitialized variable is non-null, some patterns may be aggregated if loaded multiple times, resulting in slower processing, which was the original issue it tried to address. The fix needs to be backported to 1.5. (cherry picked from commit 4deaf39243c4d941998b1b0175bad05b8a287c0b) --- src/pattern.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pattern.c b/src/pattern.c index 20547f9..208e33a 100644 --- a/src/pattern.c +++ b/src/pattern.c @@ -2096,7 +2096,7 @@ int pattern_read_from_file(struct pattern_head *head, unsigned int refflags, struct pat_ref *ref; struct pattern_expr *expr; struct pat_ref_elt *elt; - int reuse; + int reuse = 0; /* Lookup for the existing reference. */ ref = pat_ref_lookup(filename); -- 2.0.4