|
From a208d4dd73794b67a59dae7e3077378473650d6c Mon Sep 17 00:00:00 2001
|
|
From: Christopher Faulet <cfaulet@haproxy.com>
|
|
Date: Thu, 23 Feb 2017 22:41:09 +0100
|
|
Subject: [PATCH 3/7] BUG/MINOR: spoe: Fix parsing of arguments in spoe-message
|
|
section
|
|
|
|
The array of pointers passed to sample_parse_expr was not really an array but a
|
|
pointer to pointer. So it can easily lead to a segfault during the configuration
|
|
parsing.
|
|
(cherry picked from commit b0b42388259224be54bf504fa559803b39d6453c)
|
|
---
|
|
src/flt_spoe.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/flt_spoe.c b/src/flt_spoe.c
|
|
index 2a96c65..57fb1da 100644
|
|
--- a/src/flt_spoe.c
|
|
+++ b/src/flt_spoe.c
|
|
@@ -2966,8 +2966,9 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
|
|
arg->name_len = delim - args[cur_arg];
|
|
delim++;
|
|
}
|
|
-
|
|
- arg->expr = sample_parse_expr(&delim, &idx, file, linenum, &errmsg, &curproxy->conf.args);
|
|
+ arg->expr = sample_parse_expr((char*[]){delim, NULL},
|
|
+ &idx, file, linenum, &errmsg,
|
|
+ &curproxy->conf.args);
|
|
if (arg->expr == NULL) {
|
|
Alert("parsing [%s:%d] : '%s': %s.\n", file, linenum, args[0], errmsg);
|
|
err_code |= ERR_ALERT | ERR_FATAL;
|
|
--
|
|
2.10.2
|
|
|