Index: llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp =================================================================== --- llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp +++ llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp @@ -238,7 +238,11 @@ } void Fuzzer::ExecuteCallback(const Unit &U) { - int Res = USF.TargetFunction(U.data(), U.size()); + const uint8_t *Data = U.data(); + uint8_t EmptyData; + if (!Data) + Data = &EmptyData; + int Res = USF.TargetFunction(Data, U.size()); (void)Res; assert(Res == 0); } Index: llvm/trunk/lib/Fuzzer/test/SimpleTest.cpp =================================================================== --- llvm/trunk/lib/Fuzzer/test/SimpleTest.cpp +++ llvm/trunk/lib/Fuzzer/test/SimpleTest.cpp @@ -1,4 +1,5 @@ // Simple test for a fuzzer. The fuzzer must find the string "Hi!". +#include #include #include #include @@ -7,6 +8,7 @@ static volatile int Sink; extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + assert(Data); if (Size > 0 && Data[0] == 'H') { Sink = 1; if (Size > 1 && Data[1] == 'i') {