fuzz: check libpcap timestamp consistency

That is microseconds should be positive
pull/8389/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
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);

Loading…
Cancel
Save