From 15e0f7f5bb6b47214c6903bc9fc2e28d83eb9019 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 23 Oct 2018 13:49:37 +0200 Subject: [PATCH] outputs: fix memleaks in the error paths reported by coverity --- src/alert-syslog.c | 3 ++- src/alert-unified2-alert.c | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/alert-syslog.c b/src/alert-syslog.c index 466ceb77e2..c790ef2b3c 100644 --- a/src/alert-syslog.c +++ b/src/alert-syslog.c @@ -126,7 +126,8 @@ static OutputInitResult AlertSyslogInitCtx(ConfNode *conf) OutputCtx *output_ctx = SCMalloc(sizeof(OutputCtx)); if (unlikely(output_ctx == NULL)) { - SCLogDebug("AlertSyslogInitCtx: Could not create new OutputCtx"); + SCLogDebug("could not create new OutputCtx"); + LogFileFreeCtx(logfile_ctx); return result; } memset(output_ctx, 0x00, sizeof(OutputCtx)); diff --git a/src/alert-unified2-alert.c b/src/alert-unified2-alert.c index e1523a3ef2..67e7defbe6 100644 --- a/src/alert-unified2-alert.c +++ b/src/alert-unified2-alert.c @@ -1277,15 +1277,14 @@ OutputInitResult Unified2AlertInitCtx(ConfNode *conf) { OutputInitResult result = { NULL, false }; int ret = 0; - LogFileCtx* file_ctx = NULL; OutputCtx* output_ctx = NULL; HttpXFFCfg *xff_cfg = NULL; int nostamp = 0; - file_ctx = LogFileNewCtx(); + LogFileCtx* file_ctx = LogFileNewCtx(); if (file_ctx == NULL) { SCLogError(SC_ERR_UNIFIED2_ALERT_GENERIC, "Couldn't create new file_ctx"); - goto error; + return result; } const char *filename = NULL; @@ -1402,6 +1401,8 @@ OutputInitResult Unified2AlertInitCtx(ConfNode *conf) return result; error: + LogFileFreeCtx(file_ctx); + if (xff_cfg != NULL) { SCFree(xff_cfg); }