Having an external corpus command makes it a special case
diff --git a/files.c b/files.c
index 661e748..d45b057 100644
--- a/files.c
+++ b/files.c
@@ -211,7 +211,7 @@
{
hfuzz->files = util_Malloc(sizeof(char *));
hfuzz->files[0] = "NONE";
- hfuzz->fileCnt = 0;
+ hfuzz->fileCnt = 1;
if (hfuzz->externalCommand) {
LOG_I
diff --git a/fuzz.c b/fuzz.c
index 73c5d25..c66d9e3 100644
--- a/fuzz.c
+++ b/fuzz.c
@@ -548,7 +548,11 @@
fuzz_getFileName(hfuzz, fuzzer->fileName);
- if (state == _HF_STATE_DYNAMIC_MAIN) {
+ if (hfuzz->externalCommand) {
+ if (!fuzz_prepareFileExternally(hfuzz, fuzzer)) {
+ LOG_F("fuzz_prepareFileExternally() failed");
+ }
+ } else if (state == _HF_STATE_DYNAMIC_MAIN) {
if (!fuzz_prepareFileDynamically(hfuzz, fuzzer)) {
LOG_F("fuzz_prepareFileDynamically() failed");
}
@@ -557,10 +561,6 @@
if (!fuzz_prepareFile(hfuzz, fuzzer, rnd_index)) {
LOG_F("fuzz_prepareFile() failed");
}
- } else if (hfuzz->externalCommand != NULL) {
- if (!fuzz_prepareFileExternally(hfuzz, fuzzer)) {
- LOG_F("fuzz_prepareFileExternally() failed");
- }
} else {
if (!fuzz_prepareFile(hfuzz, fuzzer, rnd_index)) {
LOG_F("fuzz_prepareFile() failed");