From 256d581fbdec0f2814835b5e5cf2825f226afc0e Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Thu, 11 May 2023 18:57:23 +0200 Subject: [PATCH] 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. --- src/log.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/log.c b/src/log.c index 4e40e3d31..95a4b6381 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);