summaryrefslogtreecommitdiff
path: root/input.c
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2019-02-11 00:04:13 +0100
committerRobert Swiecki <robert@swiecki.net>2019-02-11 00:04:13 +0100
commita31b60b9a9cf6602eb1a06d35e48e25282913abc (patch)
treea6af973101d41d60aea1e3d7e370c86962f3e629 /input.c
parenta95a8f8e3a46714d0e275df9a2e4920ac61570c3 (diff)
downloadhonggfuzz-a31b60b9a9cf6602eb1a06d35e48e25282913abc.tar.gz
input: set remaining file size to ' '/\x00 if resized
Diffstat (limited to 'input.c')
-rw-r--r--input.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/input.c b/input.c
index c4f6b6a3..b126d320 100644
--- a/input.c
+++ b/input.c
@@ -56,11 +56,14 @@ void input_setSize(run_t* run, size_t sz) {
if (sz > run->global->mutate.maxFileSz) {
PLOG_F("Too large size requested: %zu > maxSize: %zu", sz, run->global->mutate.maxFileSz);
}
- size_t old_sz = run->dynamicFileSz;
- run->dynamicFileSz = sz;
- if (run->global->cfg.only_printable && old_sz < sz) {
- memset(run->dynamicFile, ' ', sz - old_sz);
+ if (sz < run->dynamicFileSz) {
+ if (run->global->cfg.only_printable) {
+ memset(&run->dynamicFile[sz], ' ', run->dynamicFileSz - sz);
+ } else {
+ memset(&run->dynamicFile[sz], '\x00', run->dynamicFileSz - sz);
+ }
}
+ run->dynamicFileSz = sz;
}
static bool input_getDirStatsAndRewind(honggfuzz_t* hfuzz) {