From: Victor Julien Date: Tue, 23 Oct 2018 11:49:37 +0000 (+0200) Subject: outputs: fix memleaks in the error paths reported by coverity X-Git-Tag: suricata-4.1.0~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15e0f7f5bb6b47214c6903bc9fc2e28d83eb9019;p=thirdparty%2Fsuricata.git outputs: fix memleaks in the error paths reported by coverity --- 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); }