diff --git a/src/tests/fuzz/fuzz_sigpcap.c b/src/tests/fuzz/fuzz_sigpcap.c index 2aa584ac09ec..a91e5d61b2b1 100644 --- a/src/tests/fuzz/fuzz_sigpcap.c +++ b/src/tests/fuzz/fuzz_sigpcap.c @@ -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);