summaryrefslogtreecommitdiff
path: root/honggfuzz.h
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2020-03-03 22:55:21 +0100
committerRobert Swiecki <robert@swiecki.net>2020-03-03 22:55:21 +0100
commitdbd2d05b7e4a871be7cb40116f957dc723f7cdd3 (patch)
tree80a2ee4dd2bd14e69a633403b104755df3671c8a /honggfuzz.h
parent3e363b4ce0188de2d48d103ef6d8fe3c195489c7 (diff)
downloadhonggfuzz-dbd2d05b7e4a871be7cb40116f957dc723f7cdd3.tar.gz
fuzz: read input files in smaller chunks in the dynamic_dry_mode, to limit size of input files needed
Diffstat (limited to 'honggfuzz.h')
-rw-r--r--honggfuzz.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/honggfuzz.h b/honggfuzz.h
index 46d15c5d..aecd4b5f 100644
--- a/honggfuzz.h
+++ b/honggfuzz.h
@@ -73,6 +73,9 @@
/* Maximum size of the input file in bytes (128 MiB) */
#define _HF_INPUT_MAX_SIZE (1024ULL * 1024ULL * 128ULL)
+/* Default maximum size of produced inputs */
+#define _HF_INPUT_DEFAULT_SIZE (1024ULL * 8)
+
/* FD used to report back used int/str constants from the fuzzed process */
#define _HF_CMP_BITMAP_FD 1019
/* FD used to log inside the child process */
@@ -210,11 +213,13 @@ typedef struct {
size_t fileCnt;
const char* fileExtn;
bool fileCntDone;
+ size_t maxFileSz;
size_t newUnitsAdded;
char workDir[PATH_MAX];
const char* crashDir;
const char* covDirNew;
bool saveUnique;
+ size_t dynfileqMaxSz;
size_t dynfileqCnt;
pthread_rwlock_t dynfileq_mutex;
struct dynfile_t* dynfileqCurrent;
@@ -255,7 +260,7 @@ typedef struct {
size_t dictionaryCnt;
size_t mutationsMax;
unsigned mutationsPerRun;
- size_t maxFileSz;
+ size_t maxInputSz;
} mutate;
struct {
bool useScreen;
@@ -354,6 +359,7 @@ typedef struct {
unsigned mutationsPerRun;
uint8_t* dynamicFile;
size_t dynamicFileSz;
+ bool staticFileTryMore;
int dynamicFileFd;
uint32_t fuzzNo;
int persistentSock;