| 248 | }; |
| 249 | |
| 250 | extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) |
| 251 | { |
| 252 | if(size < 64) |
| 253 | return 0; |
| 254 | |
| 255 | try |
| 256 | { |
| 257 | FuzzedDataProvider fuzz_data(data, size); |
| 258 | BlackboardFuzzer fuzzer(fuzz_data); |
| 259 | fuzzer.fuzz(); |
| 260 | } |
| 261 | catch(const std::exception& e) |
| 262 | { |
| 263 | if(!ExceptionFilter::isExpectedException(e)) |
| 264 | { |
| 265 | std::cerr << "Unexpected top-level exception: " << e.what() << std::endl; |
| 266 | return 1; |
| 267 | } |
| 268 | } |
| 269 | |
| 270 | return 0; |
| 271 | } |