From: Aurelien DARRAGON Date: Thu, 11 May 2023 16:57:23 +0000 (+0200) Subject: BUG/MINOR: log: fix memory error handling in parse_logsrv() X-Git-Tag: v2.8-dev12~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=256d581fbdec0f2814835b5e5cf2825f226afc0e;p=thirdparty%2Fhaproxy.git BUG/MINOR: log: fix memory error handling in parse_logsrv() A check was missing in parse_logsrv() to make sure that malloc-dependent variable is checked for non-NULL before using it. If malloc fails, the function raises an error and stops, like it's already done at a few other places within the function. This partially fixes GH #2130. It should be backported to every stable versions. --- diff --git a/src/log.c b/src/log.c index 4e40e3d316..95a4b63817 100644 --- a/src/log.c +++ b/src/log.c @@ -809,6 +809,10 @@ int parse_logsrv(char **args, struct list *logsrvs, int do_del, const char *file } node = malloc(sizeof(*node)); + if (!node) { + memprintf(err, "out of memory error"); + goto error; + } memcpy(node, logsrv, sizeof(struct logsrv)); node->ref = logsrv; LIST_INIT(&node->list);