1*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source 2*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details. 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker // Simple test for a fuzzer. The fuzzer must find the empty string. 5*9880d681SAndroid Build Coastguard Worker #include <cstdint> 6*9880d681SAndroid Build Coastguard Worker #include <cstdlib> 7*9880d681SAndroid Build Coastguard Worker #include <cstddef> 8*9880d681SAndroid Build Coastguard Worker #include <iostream> 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker static volatile int *Null = 0; 11*9880d681SAndroid Build Coastguard Worker LLVMFuzzerTestOneInput(const uint8_t * Data,size_t Size)12*9880d681SAndroid Build Coastguard Workerextern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 13*9880d681SAndroid Build Coastguard Worker if (Size == 0) { 14*9880d681SAndroid Build Coastguard Worker std::cout << "Found the target, dereferencing NULL\n"; 15*9880d681SAndroid Build Coastguard Worker *Null = 1; 16*9880d681SAndroid Build Coastguard Worker } 17*9880d681SAndroid Build Coastguard Worker return 0; 18*9880d681SAndroid Build Coastguard Worker } 19*9880d681SAndroid Build Coastguard Worker 20