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 string "FUZZ". 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 LLVMFuzzerTestOneInput(const uint8_t * Data,size_t Size)10*9880d681SAndroid Build Coastguard Workerextern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 11*9880d681SAndroid Build Coastguard Worker int bits = 0; 12*9880d681SAndroid Build Coastguard Worker if (Size > 0 && Data[0] == 'F') bits |= 1; 13*9880d681SAndroid Build Coastguard Worker if (Size > 1 && Data[1] == 'U') bits |= 2; 14*9880d681SAndroid Build Coastguard Worker if (Size > 2 && Data[2] == 'Z') bits |= 4; 15*9880d681SAndroid Build Coastguard Worker if (Size > 3 && Data[3] == 'Z') bits |= 8; 16*9880d681SAndroid Build Coastguard Worker if (bits == 15) { 17*9880d681SAndroid Build Coastguard Worker std::cerr << "BINGO!\n"; 18*9880d681SAndroid Build Coastguard Worker exit(1); 19*9880d681SAndroid Build Coastguard Worker } 20*9880d681SAndroid Build Coastguard Worker return 0; 21*9880d681SAndroid Build Coastguard Worker } 22*9880d681SAndroid Build Coastguard Worker 23