[llvm] r298740 - [libFuzzer] honor -exact_artifact_path for all intermediate files during crash minimization (https://github.com/google/oss-fuzz/issues/250)

Kostya Serebryany via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 24 14:09:16 PDT 2017


Author: kcc
Date: Fri Mar 24 16:09:16 2017
New Revision: 298740

URL: http://llvm.org/viewvc/llvm-project?rev=298740&view=rev
Log:
[libFuzzer] honor -exact_artifact_path for all intermediate files during crash minimization (https://github.com/google/oss-fuzz/issues/250)

Modified:
    llvm/trunk/lib/Fuzzer/FuzzerDriver.cpp
    llvm/trunk/lib/Fuzzer/test/minimize_crash.test

Modified: llvm/trunk/lib/Fuzzer/FuzzerDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerDriver.cpp?rev=298740&r1=298739&r2=298740&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/FuzzerDriver.cpp (original)
+++ llvm/trunk/lib/Fuzzer/FuzzerDriver.cpp Fri Mar 24 16:09:16 2017
@@ -317,7 +317,9 @@ int MinimizeCrashInput(const std::vector
            CurrentFilePath.c_str(), U.size());
 
     std::string ArtifactPath =
-        Options.ArtifactPrefix + "minimized-from-" + Hash(U);
+        Flags.exact_artifact_path
+            ? Flags.exact_artifact_path
+            : Options.ArtifactPrefix + "minimized-from-" + Hash(U);
     Cmd += " -minimize_crash_internal_step=1 -exact_artifact_path=" +
         ArtifactPath;
     Printf("CRASH_MIN: executing: %s\n", Cmd.c_str());

Modified: llvm/trunk/lib/Fuzzer/test/minimize_crash.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/minimize_crash.test?rev=298740&r1=298739&r2=298740&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/minimize_crash.test (original)
+++ llvm/trunk/lib/Fuzzer/test/minimize_crash.test Fri Mar 24 16:09:16 2017
@@ -6,7 +6,8 @@ CHECK_EXACT: CRASH_MIN: failed to minimi
 RUN: rm not_minimal_crash minimized-from-* exact_minimized_path
 
 RUN: echo -n 'abcd*xyz' > not_minimal_crash
-RUN: LLVMFuzzer-SingleByteInputTest -minimize_crash=1 not_minimal_crash -artifact_prefix=./ZZZ- -exact_artifact_path=exact_minimized_path 2>&1 | FileCheck %s --check-prefix=MIN1
-MIN1: Test unit written to ./ZZZ-minimized-from-
+RUN: LLVMFuzzer-SingleByteInputTest -minimize_crash=1 not_minimal_crash -exact_artifact_path=exact_minimized_path 2>&1 | FileCheck %s --check-prefix=MIN1
+MIN1: Test unit written to exact_minimized_path
+MIN1: Test unit written to exact_minimized_path
 MIN1: INFO: The input is small enough, exiting
 MIN1: CRASH_MIN: failed to minimize beyond exact_minimized_path (1 bytes), exiting




More information about the llvm-commits mailing list