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
pull/7244/head
Philippe Antoine 3 years ago committed by Victor Julien
parent 704bc878ea
commit 8ecf7e403e

@ -70,7 +70,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;

@ -113,7 +113,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
r = FPC_next(&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 = pkts.datalink;
while (r > 0) {
if (PacketCopyData(p, pkt, header.caplen) == 0) {
@ -137,7 +137,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
r = FPC_next(&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 = pkts.datalink;
pcap_cnt++;
p->pcap_cnt = pcap_cnt;

@ -154,7 +154,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) {
@ -178,7 +178,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;

@ -153,7 +153,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
p = PacketGetFromAlloc();
p->pkt_src = PKT_SRC_WIRE;
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 = pkts.datalink;
while (r > 0) {
if (PacketCopyData(p, pkt, header.caplen) == 0) {
@ -178,7 +178,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
PACKET_RECYCLE(p);
p->pkt_src = PKT_SRC_WIRE;
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 = pkts.datalink;
pcap_cnt++;
p->pcap_cnt = pcap_cnt;

Loading…
Cancel
Save