blob: 200c56ccbbc900800e74b94f1dfcd00587206c35 [file] [log] [blame]
Aaron Ballmanef116982015-01-29 16:58:29 +00001// Simple test for a fuzzer. The fuzzer must find the string "Hi!".
2#include <cstdint>
3#include <cstdlib>
4#include <cstddef>
5#include <iostream>
6
7static volatile int Sink;
8static volatile int *Null = 0;
9
Kostya Serebryany20bb5e72015-10-02 23:34:06 +000010extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
Aaron Ballmanef116982015-01-29 16:58:29 +000011 if (Size > 0 && Data[0] == 'H') {
12 Sink = 1;
13 if (Size > 1 && Data[1] == 'i') {
14 Sink = 2;
15 if (Size > 2 && Data[2] == '!') {
16 std::cout << "Found the target, dereferencing NULL\n";
17 *Null = 1;
18 }
19 }
20 }
Kostya Serebryany20bb5e72015-10-02 23:34:06 +000021 return 0;
Aaron Ballmanef116982015-01-29 16:58:29 +000022}
23