From d9667914b2785d0f77e879333ceb57a921107fd8 Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Sat, 21 Jan 2017 00:13:50 +0000 Subject: [PATCH] [libFuzzer] use print+exit(1) instead of assert to report an error llvm-svn: 292685 --- llvm/lib/Fuzzer/FuzzerDriver.cpp | 6 ++++-- llvm/lib/Fuzzer/test/fuzzer.test | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Fuzzer/FuzzerDriver.cpp b/llvm/lib/Fuzzer/FuzzerDriver.cpp index b11b3a3..5620cde 100644 --- a/llvm/lib/Fuzzer/FuzzerDriver.cpp +++ b/llvm/lib/Fuzzer/FuzzerDriver.cpp @@ -365,8 +365,10 @@ int FuzzerDriver(int *argc, char ***argv, UserCallback Callback) { const std::vector Args(*argv, *argv + *argc); assert(!Args.empty()); ProgName = new std::string(Args[0]); - assert(Argv0 == *ProgName && - "argv[0] has been modified in LLVMFuzzerInitialize"); + if (Argv0 != *ProgName) { + Printf("ERROR: argv[0] has been modified in LLVMFuzzerInitialize\n"); + exit(1); + } ParseFlags(Args); if (Flags.help) { PrintHelp(); diff --git a/llvm/lib/Fuzzer/test/fuzzer.test b/llvm/lib/Fuzzer/test/fuzzer.test index d629885..a54e75c 100644 --- a/llvm/lib/Fuzzer/test/fuzzer.test +++ b/llvm/lib/Fuzzer/test/fuzzer.test @@ -56,5 +56,5 @@ STRNCMP: AddressSanitizer: heap-buffer-overflow STRNCMP-NOT: __sanitizer_weak_hook_strncmp STRNCMP: in LLVMFuzzerTestOneInput -RUN: not --crash LLVMFuzzer-BogusInitializeTest 2>&1 | FileCheck %s --check-prefix=BOGUS_INITIALIZE +RUN: not LLVMFuzzer-BogusInitializeTest 2>&1 | FileCheck %s --check-prefix=BOGUS_INITIALIZE BOGUS_INITIALIZE: argv[0] has been modified in LLVMFuzzerInitialize -- 2.7.4