From 18a82ba690a6ff4adbf9702cefa6dc89eb36372d Mon Sep 17 00:00:00 2001 From: Remi Tricot-Le Breton Date: Wed, 12 May 2021 18:07:27 +0200 Subject: [PATCH] BUG/MINOR: proxy: Missing calloc return value check in proxy_defproxy_cpy A memory allocation failure happening in proxy_defproxy_cpy while copying the default compression options would have resulted in a crash. This function is called for every new proxy found while parsing the configuration. It was raised in GitHub issue #1233. It could be backported to all stable branches. --- src/proxy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/proxy.c b/src/proxy.c index 079280c9c..0e96571c0 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -1717,6 +1717,10 @@ static int proxy_defproxy_cpy(struct proxy *curproxy, const struct proxy *defpro /* default compression options */ if (defproxy->comp != NULL) { curproxy->comp = calloc(1, sizeof(*curproxy->comp)); + if (!curproxy->comp) { + memprintf(errmsg, "proxy '%s': out of memory for default compression options", curproxy->id); + return 1; + } curproxy->comp->algos = defproxy->comp->algos; curproxy->comp->types = defproxy->comp->types; }