From c97ced3f938271c9d648594d6c4bfcd194c36a7d Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Thu, 4 Sep 2025 10:26:37 +0200 Subject: [PATCH] BUG/MINOR: log: fix potential memory leak upon error in add_to_logformat_list() As reported on GH #3099, upon memory error add_to_logformat_list() will return and error but it fails to properly memory which was allocated within the function, which could result in memory leak. Let's free all relevant variables allocated by the function before returning. No backport needed unless 22ac1f5ee ("("BUG/MINOR: log: Add OOM checks for calloc() and malloc() in logformat parser and dup_logger()") is. --- src/log.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/log.c b/src/log.c index c7acb5b29..c0d439239 100644 --- a/src/log.c +++ b/src/log.c @@ -575,6 +575,8 @@ int add_to_logformat_list(char *start, char *end, int type, struct lf_expr *lf_e struct logformat_node *node = calloc(1, sizeof(*node)); str = calloc(1, end - start + 1); if (unlikely(!node || !str)) { + free(node); + free(str); memprintf(err, "out of memory error"); return 0; }