]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
pcap-file: add missing atomic init
authorEric Leblond <eric@regit.org>
Thu, 12 Feb 2015 21:27:07 +0000 (22:27 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 4 Mar 2015 15:53:34 +0000 (16:53 +0100)
It is mandatory to init all atomic to avoid problem on system
without atomic support.

src/runmode-pcap-file.c
src/source-pcap-file.c
src/source-pcap-file.h

index 4265585644ce0aa36225a9aef580532246ef63ad..f5a3c196b40b7f2b449542036fe2dad50a5ce80d 100644 (file)
@@ -24,6 +24,8 @@
 #include "output.h"
 #include "detect-engine-mpm.h"
 
+#include "source-pcap-file.h"
+
 #include "alert-fastlog.h"
 #include "alert-prelude.h"
 #include "alert-unified2-alert.h"
@@ -74,6 +76,8 @@ int RunModeFilePcapSingle(DetectEngineCtx *de_ctx)
     RunModeInitialize();
     TimeModeSetOffline();
 
+    PcapFileGlobalInit();
+
     /* create the threads */
     ThreadVars *tv = TmThreadCreatePacketHandler("PcapFile",
                                                  "packetpool", "packetpool",
@@ -164,6 +168,8 @@ int RunModeFilePcapAutoFp(DetectEngineCtx *de_ctx)
 
     TimeModeSetOffline();
 
+    PcapFileGlobalInit();
+
     /* Available cpus */
     uint16_t ncpus = UtilCpuGetNumProcessorsOnline();
 
index 8638bdd8d22afc7d2849126ecc7f24c896b4c3e4..f7dcb4c06297652354d163be6961e81ecb44e23a 100644 (file)
@@ -131,6 +131,11 @@ void TmModuleDecodePcapFileRegister (void)
     tmm_modules[TMM_DECODEPCAPFILE].flags = TM_FLAG_DECODE_TM;
 }
 
+void PcapFileGlobalInit()
+{
+    SC_ATOMIC_INIT(pcap_g.invalid_checksums);
+}
+
 void PcapFileCallbackLoop(char *user, struct pcap_pkthdr *h, u_char *pkt)
 {
     SCEnter();
index 636cbdeb6da34bc498490f0628978149e48c927b..fa76a1a8f8e791764b93c28f3b157ec89f536dc5 100644 (file)
@@ -29,5 +29,7 @@ void TmModuleDecodePcapFileRegister (void);
 
 void PcapIncreaseInvalidChecksum();
 
+void PcapFileGlobalInit();
+
 #endif /* __SOURCE_PCAP_FILE_H__ */