source: pcap timestamp microsecond consistency

That is it should be less than 1 000 000.
Have the same for fuzz targets where the bug came from.

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44177
(cherry picked from commit 8ecf7e403e)
pull/7936/head
Philippe Antoine 4 years ago committed by Victor Julien
parent c31d3592a4
commit 047661a5cb

@ -77,7 +77,7 @@ void PcapFileCallbackLoop(char *user, struct pcap_pkthdr *h, u_char *pkt)
PKT_SET_SRC(p, PKT_SRC_WIRE);
p->ts.tv_sec = h->ts.tv_sec;
p->ts.tv_usec = h->ts.tv_usec;
p->ts.tv_usec = h->ts.tv_usec % 1000000;
SCLogDebug("p->ts.tv_sec %"PRIuMAX"", (uintmax_t)p->ts.tv_sec);
p->datalink = ptv->datalink;
p->pcap_cnt = ++pcap_g.cnt;

@ -142,7 +142,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
r = pcap_next_ex(pkts, &header, &pkt);
p = PacketGetFromAlloc();
p->ts.tv_sec = header->ts.tv_sec;
p->ts.tv_usec = header->ts.tv_usec;
p->ts.tv_usec = header->ts.tv_usec % 1000000;
p->datalink = pcap_datalink(pkts);
while (r > 0) {
if (PacketCopyData(p, pkt, header->caplen) == 0) {
@ -166,7 +166,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
r = pcap_next_ex(pkts, &header, &pkt);
PACKET_RECYCLE(p);
p->ts.tv_sec = header->ts.tv_sec;
p->ts.tv_usec = header->ts.tv_usec;
p->ts.tv_usec = header->ts.tv_usec % 1000000;
p->datalink = pcap_datalink(pkts);
pcap_cnt++;
p->pcap_cnt = pcap_cnt;

Loading…
Cancel
Save