From e0c77c88b7de4daf10ed00560ada0f7ece245061 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292685 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Fuzzer/FuzzerDriver.cpp | 6 ++++-- lib/Fuzzer/test/fuzzer.test | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/Fuzzer/FuzzerDriver.cpp b/lib/Fuzzer/FuzzerDriver.cpp index b11b3a3a8a2..5620cdea3fa 100644 --- a/lib/Fuzzer/FuzzerDriver.cpp +++ b/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/lib/Fuzzer/test/fuzzer.test b/lib/Fuzzer/test/fuzzer.test index d6298852221..a54e75c4f5f 100644 --- a/lib/Fuzzer/test/fuzzer.test +++ b/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.40.0