diff options
author | hexcoder- <heiko@hexco.de> | 2020-09-01 19:54:18 +0200 |
---|---|---|
committer | hexcoder- <heiko@hexco.de> | 2020-09-01 19:54:18 +0200 |
commit | 6340674a23e9b8d2e8b3a8705be1129363a60d46 (patch) | |
tree | a65cc9c9069933317c2a0560e0d5525de5c8785f /include/afl-fuzz.h | |
parent | 4538f689ede6743d097c85ded2fdcb4f9663020b (diff) | |
parent | e4a86b40a5504c608d6ba7f44133ab39b24ac6f8 (diff) | |
download | afl++-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.h | 10 |
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; } |