about summary refs log tree commit diff
path: root/src/afl-fuzz-redqueen.c
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2020-02-07 17:00:11 +0100
committerAndrea Fioraldi <andreafioraldi@gmail.com>2020-02-07 17:00:11 +0100
commit1e10e452aaa366c3d06e7eda9f56f127fbf25319 (patch)
tree8fa43f52a48f5fe7ef1a54f61f2c4466dd777276 /src/afl-fuzz-redqueen.c
parentea37d8cef9648dfbe317517959be3d4eb9cb6cc7 (diff)
downloadafl++-1e10e452aaa366c3d06e7eda9f56f127fbf25319.tar.gz
fix empty range bug in colorization
Diffstat (limited to 'src/afl-fuzz-redqueen.c')
-rw-r--r--src/afl-fuzz-redqueen.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/afl-fuzz-redqueen.c b/src/afl-fuzz-redqueen.c
index d46d2b19..bac7357e 100644
--- a/src/afl-fuzz-redqueen.c
+++ b/src/afl-fuzz-redqueen.c
@@ -122,6 +122,9 @@ u8 colorization(u8* buf, u32 len, u32 exec_cksum) {
   while ((rng = pop_biggest_range(&ranges)) != NULL && stage_cur) {
 
     u32 s = rng->end - rng->start;
+    if (s == 0)
+      goto empty_range;
+    
     memcpy(backup, buf + rng->start, s);
     rand_replace(buf + rng->start, s);
 
@@ -136,6 +139,7 @@ u8 colorization(u8* buf, u32 len, u32 exec_cksum) {
 
     } else needs_write = 1;
 
+empty_range:
     ck_free(rng);
     --stage_cur;