diff options
author | Robert Swiecki <robert@swiecki.net> | 2017-12-21 04:07:11 +0100 |
---|---|---|
committer | Robert Swiecki <robert@swiecki.net> | 2017-12-21 04:07:11 +0100 |
commit | 3f8e9fd3acf8883a2cf76a8971cd2ecc21919d67 (patch) | |
tree | 3a4fa9e5f27f86b72a78daddb3c035ff3d44dde9 /mangle.c | |
parent | 6088be4120d7be84d70ed18ee879f31532b9776d (diff) | |
download | honggfuzz-3f8e9fd3acf8883a2cf76a8971cd2ecc21919d67.tar.gz |
mangle: allow 0-lenght inputs
Diffstat (limited to 'mangle.c')
-rw-r--r-- | mangle.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -492,7 +492,7 @@ static void mangle_CloneByte(run_t* run) { } static void mangle_Resize(run_t* run) { - run->dynamicFileSz = util_rndGet(1, run->global->maxFileSz); + run->dynamicFileSz = util_rndGet(0, run->global->maxFileSz); } static void mangle_Expand(run_t* run) { @@ -537,17 +537,16 @@ void mangle_mangleContent(run_t* run) { return; } - /* Minimum support file size for mangling is 1 */ - if (run->dynamicFileSz == 0UL) { - run->dynamicFileSz = 1UL; - run->dynamicFile[0] = '\0'; - } - /* 20% chance to change the file size */ if ((util_rnd64() % 5) == 0) { mangle_Resize(run); } + /* No point in modifying it if its size is 0 */ + if (run->dynamicFileSz == 0UL) { + return; + } + static void (*const mangleFuncs[])(run_t * run) = { mangle_Byte, mangle_Bit, @@ -567,7 +566,6 @@ void mangle_mangleContent(run_t* run) { mangle_Shrink, mangle_InsertRnd, mangle_ASCIIVal, - mangle_Resize, }; /* Max number of stacked changes is 6 */ |