/src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include <iostream> |
4 | | |
5 | | // This function is created as PcapPlusPlus doesn't seem to offer a way of |
6 | | // parsing Pcap files directly from memory |
7 | | static int dumpDataToPcapFile(const uint8_t *data, size_t size, const char* path) |
8 | 10.6k | { |
9 | 10.6k | FILE *fd; |
10 | 10.6k | int written = 0; |
11 | | |
12 | 10.6k | fd = fopen(path, "wb"); |
13 | 10.6k | if (fd == NULL) |
14 | 0 | { |
15 | 0 | std::cerr << "Error opening pcap file for writing\n"; |
16 | 0 | return -1; |
17 | 0 | } |
18 | | |
19 | 10.6k | written = fwrite(data, 1, size, fd); |
20 | 10.6k | if (static_cast<size_t>(written) != size) |
21 | 0 | { |
22 | 0 | std::cerr << "Error writing pcap file\n"; |
23 | 0 | fclose(fd); |
24 | 0 | return -1; |
25 | 0 | } |
26 | | |
27 | 10.6k | fclose(fd); |
28 | 10.6k | return 0; |
29 | 10.6k | } FuzzTarget.cpp:dumpDataToPcapFile(unsigned char const*, unsigned long, char const*) Line | Count | Source | 8 | 5.49k | { | 9 | 5.49k | FILE *fd; | 10 | 5.49k | int written = 0; | 11 | | | 12 | 5.49k | fd = fopen(path, "wb"); | 13 | 5.49k | if (fd == NULL) | 14 | 0 | { | 15 | 0 | std::cerr << "Error opening pcap file for writing\n"; | 16 | 0 | return -1; | 17 | 0 | } | 18 | | | 19 | 5.49k | written = fwrite(data, 1, size, fd); | 20 | 5.49k | if (static_cast<size_t>(written) != size) | 21 | 0 | { | 22 | 0 | std::cerr << "Error writing pcap file\n"; | 23 | 0 | fclose(fd); | 24 | 0 | return -1; | 25 | 0 | } | 26 | | | 27 | 5.49k | fclose(fd); | 28 | 5.49k | return 0; | 29 | 5.49k | } |
FuzzWriter.cpp:dumpDataToPcapFile(unsigned char const*, unsigned long, char const*) Line | Count | Source | 8 | 5.20k | { | 9 | 5.20k | FILE *fd; | 10 | 5.20k | int written = 0; | 11 | | | 12 | 5.20k | fd = fopen(path, "wb"); | 13 | 5.20k | if (fd == NULL) | 14 | 0 | { | 15 | 0 | std::cerr << "Error opening pcap file for writing\n"; | 16 | 0 | return -1; | 17 | 0 | } | 18 | | | 19 | 5.20k | written = fwrite(data, 1, size, fd); | 20 | 5.20k | if (static_cast<size_t>(written) != size) | 21 | 0 | { | 22 | 0 | std::cerr << "Error writing pcap file\n"; | 23 | 0 | fclose(fd); | 24 | 0 | return -1; | 25 | 0 | } | 26 | | | 27 | 5.20k | fclose(fd); | 28 | 5.20k | return 0; | 29 | 5.20k | } |
|