fuzz: check libpcap timestamp consistency

That is microseconds should be positive
pull/8390/head
Philippe Antoine 3 years ago committed by Victor Julien
parent 1c436fe0ca
commit e22b59b8c1

@ -160,7 +160,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
//loop over packets //loop over packets
r = pcap_next_ex(pkts, &header, &pkt); r = pcap_next_ex(pkts, &header, &pkt);
p = PacketGetFromAlloc(); 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; goto bail;
} }
p->ts.tv_sec = header->ts.tv_sec; 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); 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; goto bail;
} }
PacketRecycle(p); PacketRecycle(p);

Loading…
Cancel
Save