]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
pfring: fixes memleaks 1229/head
authorGiuseppe Longo <giuseppelng@gmail.com>
Wed, 5 Nov 2014 11:16:18 +0000 (12:16 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 27 Nov 2014 15:23:32 +0000 (16:23 +0100)
This fixes some memory leaks
Bug #1184

src/source-pfring.c

index fb4aed73a7c1d6702075befd38c2fb23c24742c7..6f483ff741d45809fd2908d10e9580fe20c9aae3 100644 (file)
@@ -406,12 +406,14 @@ TmEcode ReceivePfringThreadInit(ThreadVars *tv, void *initdata, void **data)
     ptv->interface = SCStrdup(pfconf->iface);
     if (unlikely(ptv->interface == NULL)) {
         SCLogError(SC_ERR_MEM_ALLOC, "Unable to allocate device string");
+        SCFree(ptv);
         SCReturnInt(TM_ECODE_FAILED);
     }
 
     ptv->livedev = LiveGetDevice(pfconf->iface);
     if (ptv->livedev == NULL) {
         SCLogError(SC_ERR_INVALID_VALUE, "Unable to find Live device");
+        SCFree(ptv);
         SCReturnInt(TM_ECODE_FAILED);
     }
 
@@ -443,6 +445,7 @@ TmEcode ReceivePfringThreadInit(ThreadVars *tv, void *initdata, void **data)
                 ptv->interface,
                 ptv->interface);
         pfconf->DerefFunc(pfconf);
+        SCFree(ptv);
         return TM_ECODE_FAILED;
     } else {
         pfring_set_application_name(ptv->pd, PROG_NAME);