1ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines// Simple test for a fuzzer. The fuzzer must find the string "Hi!". 2ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include <cstdint> 3ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include <cstdlib> 4ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include <cstddef> 5ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines#include <iostream> 6ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 7ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstatic volatile int Sink; 8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesstatic volatile int *Null = 0; 9ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 10ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesextern "C" void TestOneInput(const uint8_t *Data, size_t Size) { 11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (Size > 0 && Data[0] == 'H') { 12ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Sink = 1; 13ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (Size > 1 && Data[1] == 'i') { 14ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines Sink = 2; 15ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines if (Size > 2 && Data[2] == '!') { 16ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines std::cout << "Found the target, dereferencing NULL\n"; 17ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines *Null = 1; 18ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines } 19ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines } 20ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines } 21ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines} 22ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 23