From 96fd926ccc61466caecf573aebad190dfd8b9a83 Mon Sep 17 00:00:00 2001 From: Emeric Brun Date: Wed, 5 Jul 2017 13:33:16 +0200 Subject: [PATCH] BUG/MAJOR: http: fix buffer overflow on loguri buffer. The pool used to log the uri was created with a size of 0 because the configuration and 'tune.http.logurilen' were parsed too earlier. The fix consist to postpone the pool_create as it is done for cookie captures. Regression introduced with 'MINOR: log: Add logurilen tunable' --- src/cfgparse.c | 2 ++ src/proto_http.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index 3706bca527..600f2737d5 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -7404,6 +7404,8 @@ int check_config_validity() if (!global.tune.requri_len) global.tune.requri_len = REQURI_LEN; + pool2_requri = create_pool("requri", global.tune.requri_len , MEM_F_SHARED); + pool2_capture = create_pool("capture", global.tune.cookie_len, MEM_F_SHARED); /* allocate pool of resolution per resolvers */ diff --git a/src/proto_http.c b/src/proto_http.c index 46cb6ffe22..7141833b0d 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -459,7 +459,6 @@ void init_proto_http() /* memory allocations */ pool2_http_txn = create_pool("http_txn", sizeof(struct http_txn), MEM_F_SHARED); - pool2_requri = create_pool("requri", global.tune.requri_len , MEM_F_SHARED); pool2_uniqueid = create_pool("uniqueid", UNIQUEID_LEN, MEM_F_SHARED); } -- 2.47.3