From: Victor Julien Date: Fri, 18 Dec 2015 10:07:36 +0000 (+0100) Subject: prelude: clean up memory on setup failure X-Git-Tag: suricata-3.0RC3~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5457c8d5b37bf5e6ff5c65a1fa6d142c619e12a7;p=thirdparty%2Fsuricata.git prelude: clean up memory on setup failure --- diff --git a/src/alert-prelude.c b/src/alert-prelude.c index b5360d1352..1a7b268149 100644 --- a/src/alert-prelude.c +++ b/src/alert-prelude.c @@ -657,6 +657,8 @@ static TmEcode AlertPreludeThreadInit(ThreadVars *t, void *initdata, void **data if (unlikely(idmef_analyzer_new(&aun->analyzer) < 0)) { SCLogError(SC_ERR_INITIALIZATION, "Error creating idmef analyzer for Prelude."); + + SCFree(aun); SCReturnInt(TM_ECODE_FAILED); } @@ -664,6 +666,9 @@ static TmEcode AlertPreludeThreadInit(ThreadVars *t, void *initdata, void **data if (unlikely(SetupAnalyzer(aun->analyzer) < 0)) { SCLogError(SC_ERR_INITIALIZATION, "Error configuring idmef analyzer for Prelude."); + + idmef_analyzer_destroy(aun->analyzer); + SCFree(aun); SCReturnInt(TM_ECODE_FAILED); }