|
From bad3c6f1b6d776e5d9951a3b3054b4dce8922c54 Mon Sep 17 00:00:00 2001
|
|
From: Willy Tarreau <w@1wt.eu>
|
|
Date: Wed, 26 Nov 2014 13:17:03 +0100
|
|
Subject: [PATCH 1/2] BUG/MEDIUM: patterns: previous fix was incomplete
|
|
|
|
Dmitry Sivachenko <trtrmitya@gmail.com> 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
|
|
|