summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2018-03-02 03:35:11 +0100
committerRobert Swiecki <robert@swiecki.net>2018-03-02 03:35:11 +0100
commite9231d6adc7308a20c959dc5fe5d8ca38d5b4d48 (patch)
treedcb708e5664df60abbee1d9563d898357d943364
parentfe6f15cc14e1efcb54334a95ecfdbd7d6296a023 (diff)
downloadhonggfuzz-e9231d6adc7308a20c959dc5fe5d8ca38d5b4d48.tar.gz
honggfuzz: move more vars to substructs
-rw-r--r--cmdline.c8
-rw-r--r--display.c2
-rw-r--r--fuzz.c8
-rw-r--r--honggfuzz.h2
-rw-r--r--input.c24
-rw-r--r--mangle.c8
6 files changed, 26 insertions, 26 deletions
diff --git a/cmdline.c b/cmdline.c
index 7a190bc3..0a6d302f 100644
--- a/cmdline.c
+++ b/cmdline.c
@@ -223,8 +223,8 @@ static bool cmdlineVerify(honggfuzz_t* hfuzz) {
return false;
}
- if (hfuzz->maxFileSz > _HF_INPUT_MAX_SIZE) {
- LOG_E("Maximum file size '%zu' bigger than the maximum size '%zu'", hfuzz->maxFileSz,
+ if (hfuzz->mutate.maxFileSz > _HF_INPUT_MAX_SIZE) {
+ LOG_E("Maximum file size '%zu' bigger than the maximum size '%zu'", hfuzz->mutate.maxFileSz,
(size_t)_HF_INPUT_MAX_SIZE);
return false;
}
@@ -277,6 +277,7 @@ bool cmdlineParse(int argc, char* argv[], honggfuzz_t* hfuzz) {
.dictionaryFile = NULL,
.dictionaryCnt = 0,
.mutationsPerRun = 6U,
+ .maxFileSz = 0UL,
},
.cmdline_txt[0] = '\0',
.useScreen = true,
@@ -284,7 +285,6 @@ bool cmdlineParse(int argc, char* argv[], honggfuzz_t* hfuzz) {
.blacklistFile = NULL,
.blacklistCnt = 0,
.blacklist = NULL,
- .maxFileSz = 0UL,
.reportFile = NULL,
.skipFeedbackOnTimeout = false,
.enableSanitizers = false,
@@ -534,7 +534,7 @@ bool cmdlineParse(int argc, char* argv[], honggfuzz_t* hfuzz) {
hfuzz->dynFileMethod |= _HF_DYNFILE_SOFT;
break;
case 'F':
- hfuzz->maxFileSz = strtoul(optarg, NULL, 0);
+ hfuzz->mutate.maxFileSz = strtoul(optarg, NULL, 0);
break;
case 't':
hfuzz->timing.tmOut = atol(optarg);
diff --git a/display.c b/display.c
index f68e15c6..f5df9c42 100644
--- a/display.c
+++ b/display.c
@@ -210,7 +210,7 @@ static void display_displayLocked(honggfuzz_t* hfuzz) {
display_put(" Corpus Size : " ESC_BOLD "%" _HF_NONMON_SEP "zu" ESC_RESET ", max size: " ESC_BOLD
"%" _HF_NONMON_SEP "zu" ESC_RESET " bytes, init dir: " ESC_BOLD "%" _HF_NONMON_SEP
"zu" ESC_RESET " files\n",
- hfuzz->dynfileqCnt, hfuzz->maxFileSz, ATOMIC_GET(hfuzz->io.fileCnt));
+ hfuzz->dynfileqCnt, hfuzz->mutate.maxFileSz, ATOMIC_GET(hfuzz->io.fileCnt));
display_put(" Cov Update : " ESC_BOLD "%s" ESC_RESET " ago\n" ESC_RESET, lastCovStr);
display_put(" Coverage :");
diff --git a/fuzz.c b/fuzz.c
index 80bf4ce9..3bff8125 100644
--- a/fuzz.c
+++ b/fuzz.c
@@ -546,9 +546,9 @@ static void* fuzz_threadNew(void* arg) {
/* Do not try to handle input files with socketfuzzer */
if (!hfuzz->socketFuzzer) {
- if (!(run.dynamicFile = files_mapSharedMem(
- hfuzz->maxFileSz, &run.dynamicFileFd, "hfuzz-input", run.global->io.workDir))) {
- LOG_F("Couldn't create an input file of size: %zu", hfuzz->maxFileSz);
+ if (!(run.dynamicFile = files_mapSharedMem(hfuzz->mutate.maxFileSz, &run.dynamicFileFd,
+ "hfuzz-input", run.global->io.workDir))) {
+ LOG_F("Couldn't create an input file of size: %zu", hfuzz->mutate.maxFileSz);
}
}
defer {
@@ -578,7 +578,7 @@ static void* fuzz_threadNew(void* arg) {
break;
}
- input_setSize(&run, run.global->maxFileSz);
+ input_setSize(&run, run.global->mutate.maxFileSz);
if (hfuzz->socketFuzzer) {
fuzz_fuzzLoopSocket(&run);
} else {
diff --git a/honggfuzz.h b/honggfuzz.h
index b4a7fa40..211fa076 100644
--- a/honggfuzz.h
+++ b/honggfuzz.h
@@ -226,6 +226,7 @@ typedef struct {
size_t dictionaryCnt;
size_t mutationsMax;
unsigned mutationsPerRun;
+ size_t maxFileSz;
} mutate;
bool useScreen;
bool useVerifier;
@@ -233,7 +234,6 @@ typedef struct {
const char* blacklistFile;
uint64_t* blacklist;
size_t blacklistCnt;
- size_t maxFileSz;
char* reportFile;
bool skipFeedbackOnTimeout;
bool enableSanitizers;
diff --git a/input.c b/input.c
index fcad6f8f..f4589e95 100644
--- a/input.c
+++ b/input.c
@@ -53,8 +53,8 @@
#include "libhfcommon/util.h"
void input_setSize(run_t* run, size_t sz) {
- if (sz > run->global->maxFileSz) {
- PLOG_F("Too large size requested: %zu > maxSize: %zu", sz, run->global->maxFileSz);
+ if (sz > run->global->mutate.maxFileSz) {
+ PLOG_F("Too large size requested: %zu > maxSize: %zu", sz, run->global->mutate.maxFileSz);
}
run->dynamicFileSz = sz;
}
@@ -91,9 +91,9 @@ static bool input_getDirStatsAndRewind(honggfuzz_t* hfuzz) {
LOG_D("'%s' is not a regular file, skipping", fname);
continue;
}
- if (hfuzz->maxFileSz != 0UL && st.st_size > (off_t)hfuzz->maxFileSz) {
+ if (hfuzz->mutate.maxFileSz != 0UL && st.st_size > (off_t)hfuzz->mutate.maxFileSz) {
LOG_D("File '%s' is bigger than maximal defined file size (-F): %" PRId64 " > %" PRId64,
- fname, (int64_t)st.st_size, (int64_t)hfuzz->maxFileSz);
+ fname, (int64_t)st.st_size, (int64_t)hfuzz->mutate.maxFileSz);
}
if ((size_t)st.st_size > maxSize) {
maxSize = st.st_size;
@@ -102,13 +102,13 @@ static bool input_getDirStatsAndRewind(honggfuzz_t* hfuzz) {
}
ATOMIC_SET(hfuzz->io.fileCnt, fileCnt);
- if (hfuzz->maxFileSz == 0U) {
+ if (hfuzz->mutate.maxFileSz == 0U) {
if (maxSize < 8192) {
- hfuzz->maxFileSz = 8192;
+ hfuzz->mutate.maxFileSz = 8192;
} else if (maxSize > _HF_INPUT_MAX_SIZE) {
- hfuzz->maxFileSz = _HF_INPUT_MAX_SIZE;
+ hfuzz->mutate.maxFileSz = _HF_INPUT_MAX_SIZE;
} else {
- hfuzz->maxFileSz = maxSize;
+ hfuzz->mutate.maxFileSz = maxSize;
}
}
@@ -117,7 +117,7 @@ static bool input_getDirStatsAndRewind(honggfuzz_t* hfuzz) {
}
LOG_D("Re-read the '%s', maxFileSz:%zu, number of usable files:%zu", hfuzz->io.inputDir,
- hfuzz->maxFileSz, hfuzz->io.fileCnt);
+ hfuzz->mutate.maxFileSz, hfuzz->io.fileCnt);
rewinddir(hfuzz->io.inputDirPtr);
@@ -336,7 +336,7 @@ bool input_prepareStaticFile(run_t* run, bool rewind) {
}
snprintf(run->origFileName, sizeof(run->origFileName), "%s", fname);
- ssize_t fileSz = files_readFileToBufMax(fname, run->dynamicFile, run->global->maxFileSz);
+ ssize_t fileSz = files_readFileToBufMax(fname, run->dynamicFile, run->global->mutate.maxFileSz);
if (fileSz < 0) {
LOG_E("Couldn't read contents of '%s'", fname);
return false;
@@ -370,7 +370,7 @@ bool input_prepareExternalFile(run_t* run) {
}
LOG_D("Subporcess '%s' finished with success", run->global->exe.externalCommand);
- ssize_t sz = files_readFromFdSeek(fd, run->dynamicFile, run->global->maxFileSz, 0);
+ ssize_t sz = files_readFromFdSeek(fd, run->dynamicFile, run->global->mutate.maxFileSz, 0);
if (sz == -1) {
LOG_E("Couldn't read file from fd=%d", fd);
return false;
@@ -401,7 +401,7 @@ bool input_postProcessFile(run_t* run) {
}
LOG_D("Subporcess '%s' finished with success", run->global->exe.externalCommand);
- ssize_t sz = files_readFromFdSeek(fd, run->dynamicFile, run->global->maxFileSz, 0);
+ ssize_t sz = files_readFromFdSeek(fd, run->dynamicFile, run->global->mutate.maxFileSz, 0);
if (sz == -1) {
LOG_E("Couldn't read file from fd=%d", fd);
return false;
diff --git a/mangle.c b/mangle.c
index 7a173b3e..e1da094f 100644
--- a/mangle.c
+++ b/mangle.c
@@ -70,11 +70,11 @@ static inline void mangle_Move(run_t* run, size_t off_from, size_t off_to, size_
}
static void mangle_Inflate(run_t* run, size_t off, size_t len) {
- if (run->dynamicFileSz >= run->global->maxFileSz) {
+ if (run->dynamicFileSz >= run->global->mutate.maxFileSz) {
return;
}
- if (len > (run->global->maxFileSz - run->dynamicFileSz)) {
- len = run->global->maxFileSz - run->dynamicFileSz;
+ if (len > (run->global->mutate.maxFileSz - run->dynamicFileSz)) {
+ len = run->global->mutate.maxFileSz - run->dynamicFileSz;
}
input_setSize(run, run->dynamicFileSz + len);
@@ -495,7 +495,7 @@ static void mangle_CloneByte(run_t* run) {
}
static void mangle_Resize(run_t* run) {
- size_t sz = util_rndGet(1, run->global->maxFileSz);
+ size_t sz = util_rndGet(1, run->global->mutate.maxFileSz);
input_setSize(run, sz);
}