Coverage Report

Created: 2025-08-26 07:54

/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
13.4k
{
9
13.4k
  FILE* fd;
10
13.4k
  int written = 0;
11
12
13.4k
  fd = fopen(path, "wb");
13
13.4k
  if (fd == NULL)
14
0
  {
15
0
    std::cerr << "Error opening pcap file for writing\n";
16
0
    return -1;
17
0
  }
18
19
13.4k
  written = fwrite(data, 1, size, fd);
20
13.4k
  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
13.4k
  fclose(fd);
28
13.4k
  return 0;
29
13.4k
}
FuzzTarget.cpp:dumpDataToPcapFile(unsigned char const*, unsigned long, char const*)
Line
Count
Source
8
7.62k
{
9
7.62k
  FILE* fd;
10
7.62k
  int written = 0;
11
12
7.62k
  fd = fopen(path, "wb");
13
7.62k
  if (fd == NULL)
14
0
  {
15
0
    std::cerr << "Error opening pcap file for writing\n";
16
0
    return -1;
17
0
  }
18
19
7.62k
  written = fwrite(data, 1, size, fd);
20
7.62k
  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
7.62k
  fclose(fd);
28
7.62k
  return 0;
29
7.62k
}
FuzzWriter.cpp:dumpDataToPcapFile(unsigned char const*, unsigned long, char const*)
Line
Count
Source
8
5.79k
{
9
5.79k
  FILE* fd;
10
5.79k
  int written = 0;
11
12
5.79k
  fd = fopen(path, "wb");
13
5.79k
  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.79k
  written = fwrite(data, 1, size, fd);
20
5.79k
  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.79k
  fclose(fd);
28
5.79k
  return 0;
29
5.79k
}