From: Willy Tarreau Date: Wed, 26 Nov 2014 12:17:03 +0000 (+0100) Subject: BUG/MEDIUM: patterns: previous fix was incomplete X-Git-Tag: v1.6-dev1~255 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4deaf39243c4d941998b1b0175bad05b8a287c0b;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/pattern.c b/src/pattern.c index 20547f9607..208e33a448 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);