[libFuzzer] allow user to specify the merge control file
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer@317747 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/FuzzerDriver.cpp b/FuzzerDriver.cpp
index 18c73ca..abc3144 100644
--- a/FuzzerDriver.cpp
+++ b/FuzzerDriver.cpp
@@ -701,19 +701,21 @@
}
if (Flags.merge) {
- const size_t kDefaultMaxMergeLen = 1 << 20;
- if (Options.MaxLen == 0)
- F->SetMaxInputLen(kDefaultMaxMergeLen);
-
- if (Flags.merge_control_file)
- F->CrashResistantMergeInternalStep(Flags.merge_control_file);
- else
- F->CrashResistantMerge(Args, *Inputs,
- Flags.load_coverage_summary,
- Flags.save_coverage_summary);
+ F->CrashResistantMerge(Args, *Inputs,
+ Flags.load_coverage_summary,
+ Flags.save_coverage_summary,
+ Flags.merge_control_file);
exit(0);
}
+ if (Flags.merge_inner) {
+ const size_t kDefaultMaxMergeLen = 1 << 20;
+ if (Options.MaxLen == 0)
+ F->SetMaxInputLen(kDefaultMaxMergeLen);
+ assert(Flags.merge_control_file);
+ F->CrashResistantMergeInternalStep(Flags.merge_control_file);
+ exit(0);
+ }
if (Flags.analyze_dict) {
size_t MaxLen = INT_MAX; // Large max length.