]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
fuzz: check libpcap timestamp consistency
authorPhilippe Antoine <pantoine@oisf.net>
Mon, 16 Jan 2023 10:14:37 +0000 (11:14 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 17 Jan 2023 13:25:06 +0000 (14:25 +0100)
That is microseconds should be positive

src/tests/fuzz/fuzz_sigpcap.c

index 2aa584ac09ec76d64df04867f25d6f38ef3ab93c..a91e5d61b2b1ff73065eba09c279db30a9547a78 100644 (file)
@@ -160,7 +160,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
     //loop over packets
     r = pcap_next_ex(pkts, &header, &pkt);
     p = PacketGetFromAlloc();
-    if (r <= 0 || header->ts.tv_sec >= INT_MAX - 3600) {
+    if (r <= 0 || header->ts.tv_sec >= INT_MAX - 3600 || header->ts.tv_usec < 0) {
         goto bail;
     }
     p->ts.tv_sec = header->ts.tv_sec;
@@ -187,7 +187,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
             }
         }
         r = pcap_next_ex(pkts, &header, &pkt);
-        if (r <= 0 || header->ts.tv_sec >= INT_MAX - 3600) {
+        if (r <= 0 || header->ts.tv_sec >= INT_MAX - 3600 || header->ts.tv_usec < 0) {
             goto bail;
         }
         PacketRecycle(p);