From: Christopher Faulet Date: Mon, 18 May 2020 09:58:16 +0000 (+0200) Subject: BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt() X-Git-Tag: v2.2-dev8~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2a37cdbe6b2cf7e9fa8654ee017af12ceb6015c2;p=thirdparty%2Fhaproxy.git BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt() parse_cache_flt() is the registered callback for the "cache" filter keyword. It is only called when the "cache" keyword is found on a filter line. So, it is useless to test the filter name in the callback function. This patch should fix the issue #634. It may be backported as far as 1.9. --- diff --git a/src/cache.c b/src/cache.c index 3b248ef465..ed50b29b66 100644 --- a/src/cache.c +++ b/src/cache.c @@ -1411,19 +1411,17 @@ parse_cache_flt(char **args, int *cur_arg, struct proxy *px, char *name = NULL; int pos = *cur_arg; - /* Get the cache filter name*/ - if (!strcmp(args[pos], "cache")) { - if (!*args[pos + 1]) { - memprintf(err, "%s : expects an argument", args[pos]); - goto error; - } - name = strdup(args[pos + 1]); - if (!name) { - memprintf(err, "%s '%s' : out of memory", args[pos], args[pos + 1]); - goto error; - } - pos += 2; + /* Get the cache filter name. point on "cache" keyword */ + if (!*args[pos + 1]) { + memprintf(err, "%s : expects an argument", args[pos]); + goto error; + } + name = strdup(args[pos + 1]); + if (!name) { + memprintf(err, "%s '%s' : out of memory", args[pos], args[pos + 1]); + goto error; } + pos += 2; /* Check if an implicit filter with the same name already exists. If so, * we remove the implicit filter to use the explicit one. */