From a0133fcf3509afd1727a947b79284027f94245e0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 27 Oct 2020 10:35:32 +0100 Subject: [PATCH] BUG/MINOR: log: fix risk of null deref on error path Previous commit ae32ac74db ("BUG/MINOR: log: fix memory leak on logsrv parse error") addressed one issue and introduced another one, the logsrv pointer may also be null at the end of the function so we must test it before deciding to dereference it. This should be backported along with the patch above to 2.2. --- src/log.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/log.c b/src/log.c index 55fa4d51a..c6ba5e635 100644 --- a/src/log.c +++ b/src/log.c @@ -1039,7 +1039,8 @@ int parse_logsrv(char **args, struct list *logsrvs, int do_del, char **err) error: free(smp_rgs); - free(logsrv->ring_name); + if (logsrv) + free(logsrv->ring_name); free(logsrv); return 0; }