about summary refs log tree commit diff
path: root/include/afl-fuzz.h
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-09-01 19:54:18 +0200
committerhexcoder- <heiko@hexco.de>2020-09-01 19:54:18 +0200
commit6340674a23e9b8d2e8b3a8705be1129363a60d46 (patch)
treea65cc9c9069933317c2a0560e0d5525de5c8785f /include/afl-fuzz.h
parent4538f689ede6743d097c85ded2fdcb4f9663020b (diff)
parente4a86b40a5504c608d6ba7f44133ab39b24ac6f8 (diff)
downloadafl++-6340674a23e9b8d2e8b3a8705be1129363a60d46.tar.gz
Merge branch 'dev' of https://github.com/AFLplusplus/AFLplusplus into dev
Diffstat (limited to 'include/afl-fuzz.h')
-rw-r--r--include/afl-fuzz.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index c5b01da8..f3a76492 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -1027,11 +1027,17 @@ static inline u32 rand_below(afl_state_t *afl, u32 limit) {
 
   }
 
-  /* Modulo is biased - we don't want our fuzzing to be biased so let's do it right. */
-  u64 unbiased_rnd; 
+  /* Modulo is biased - we don't want our fuzzing to be biased so let's do it
+   right. See:
+   https://stackoverflow.com/questions/10984974/why-do-people-say-there-is-modulo-bias-when-using-a-random-number-generator
+   */
+  u64 unbiased_rnd;
   do {
+
     unbiased_rnd = rand_next(afl);
+
   } while (unlikely(unbiased_rnd >= (UINT64_MAX - (UINT64_MAX % limit))));
+
   return unbiased_rnd % limit;
 
 }