/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 | 4.65k | { |
9 | 4.65k | FILE* fd; |
10 | 4.65k | int written = 0; |
11 | | |
12 | 4.65k | fd = fopen(path, "wb"); |
13 | 4.65k | if (fd == NULL) |
14 | 0 | { |
15 | 0 | std::cerr << "Error opening pcap file for writing\n"; |
16 | 0 | return -1; |
17 | 0 | } |
18 | | |
19 | 4.65k | written = fwrite(data, 1, size, fd); |
20 | 4.65k | 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 | 4.65k | fclose(fd); |
28 | 4.65k | return 0; |
29 | 4.65k | } |