1 #include <cassert> 2 #include <fstream> 3 #include <sstream> 4 #include <vector> 5 #include "fuzzer_common.h" 6 7 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* Data, std::size_t Size); main(int argc,char * argv[])8int main(int argc, char* argv[]) { 9 for (int i = 1; i < argc; ++i) { 10 std::ifstream in(argv[i]); 11 assert(in); 12 in.seekg(0, std::ios_base::end); 13 const auto pos = in.tellg(); 14 assert(pos >= 0); 15 in.seekg(0, std::ios_base::beg); 16 std::vector<char> buf(static_cast<std::size_t>(pos)); 17 in.read(buf.data(), static_cast<long>(buf.size())); 18 assert(in.gcount() == pos); 19 LLVMFuzzerTestOneInput(fmt_fuzzer::as_bytes(buf.data()), buf.size()); 20 } 21 } 22