]> git.proxmox.com Git - ceph.git/blame - ceph/src/fmt/test/fuzzing/main.cc
import quincy beta 17.1.0
[ceph.git] / ceph / src / fmt / test / fuzzing / main.cc
CommitLineData
20effc67
TL
1#include <cassert>
2#include <fstream>
3#include <vector>
4
5#include "fuzzer-common.h"
6
7extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);
8
9int main(int argc, char** argv) {
10 for (int i = 1; i < argc; ++i) {
11 std::ifstream in(argv[i]);
12 assert(in);
13 in.seekg(0, std::ios_base::end);
14 const auto size = in.tellg();
15 assert(size >= 0);
16 in.seekg(0, std::ios_base::beg);
17 std::vector<char> buf(static_cast<size_t>(size));
18 in.read(buf.data(), size);
19 assert(in.gcount() == size);
20 LLVMFuzzerTestOneInput(as_bytes(buf.data()), buf.size());
21 }
22}