#include #include #include #include "wireframe/pcapng/reader.hpp" // Reader parses file/network data that isn't necessarily our own // writer's output - a user could point it at any file. fmemopen() // gives libFuzzer's byte buffer a FILE* without touching a real file. extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { FILE* file = fmemopen(const_cast(data), size, "rb"); if (file == nullptr) return 0; wireframe::pcapng::Reader reader(file); while (reader.next_packet()) { // keep draining until EOF/malformed-block termination } std::fclose(file); return 0; }