]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
prelude: clean up memory on setup failure
authorVictor Julien <victor@inliniac.net>
Fri, 18 Dec 2015 10:07:36 +0000 (11:07 +0100)
committerVictor Julien <victor@inliniac.net>
Fri, 18 Dec 2015 10:07:36 +0000 (11:07 +0100)
src/alert-prelude.c

index b5360d13522cc8a3b2f8bf3b242fb978a52cfc34..1a7b2681499c58e51d2f1d56f90bf1fd0be50521 100644 (file)
@@ -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);
     }