mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-17 04:18:06 +00:00
LTO optimization, variable map size, autodictionary (#307)
* lto module clean-up * step 1/3 * step 1/3 completed * if tmp is ever made non-static * parts 2 and 3 - autodictionary is complete * variable map_size support * variable map size: changed overlooked functions * remove debug for autodict * 64 bit alignment of map size * fix review comments * force 64 bit alignment on both sides * typo
This commit is contained in:
@ -601,7 +601,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
|
||||
|
||||
if (!afl->dumb_mode && (afl->stage_cur & 7) == 7) {
|
||||
|
||||
u32 cksum = hash32(afl->fsrv.trace_bits, MAP_SIZE, HASH_CONST);
|
||||
u32 cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
|
||||
|
||||
if (afl->stage_cur == afl->stage_max - 1 && cksum == prev_cksum) {
|
||||
|
||||
@ -613,7 +613,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
|
||||
++a_len;
|
||||
|
||||
if (a_len >= MIN_AUTO_EXTRA && a_len <= MAX_AUTO_EXTRA)
|
||||
maybe_add_auto(afl, a_collect, a_len);
|
||||
maybe_add_auto((u8 *)afl, a_collect, a_len);
|
||||
|
||||
} else if (cksum != prev_cksum) {
|
||||
|
||||
@ -621,7 +621,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
|
||||
worthwhile queued up, and collect that if the answer is yes. */
|
||||
|
||||
if (a_len >= MIN_AUTO_EXTRA && a_len <= MAX_AUTO_EXTRA)
|
||||
maybe_add_auto(afl, a_collect, a_len);
|
||||
maybe_add_auto((u8 *)afl, a_collect, a_len);
|
||||
|
||||
a_len = 0;
|
||||
prev_cksum = cksum;
|
||||
@ -761,7 +761,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
|
||||
without wasting time on checksums. */
|
||||
|
||||
if (!afl->dumb_mode && len >= EFF_MIN_LEN)
|
||||
cksum = hash32(afl->fsrv.trace_bits, MAP_SIZE, HASH_CONST);
|
||||
cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
|
||||
else
|
||||
cksum = ~afl->queue_cur->exec_cksum;
|
||||
|
||||
@ -2615,7 +2615,7 @@ u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
|
||||
|
||||
if (!afl->dumb_mode && (afl->stage_cur & 7) == 7) {
|
||||
|
||||
u32 cksum = hash32(afl->fsrv.trace_bits, MAP_SIZE, HASH_CONST);
|
||||
u32 cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
|
||||
|
||||
if (afl->stage_cur == afl->stage_max - 1 && cksum == prev_cksum) {
|
||||
|
||||
@ -2627,7 +2627,7 @@ u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
|
||||
++a_len;
|
||||
|
||||
if (a_len >= MIN_AUTO_EXTRA && a_len <= MAX_AUTO_EXTRA)
|
||||
maybe_add_auto(afl, a_collect, a_len);
|
||||
maybe_add_auto((u8 *)afl, a_collect, a_len);
|
||||
|
||||
} else if (cksum != prev_cksum) {
|
||||
|
||||
@ -2635,7 +2635,7 @@ u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
|
||||
worthwhile queued up, and collect that if the answer is yes. */
|
||||
|
||||
if (a_len >= MIN_AUTO_EXTRA && a_len <= MAX_AUTO_EXTRA)
|
||||
maybe_add_auto(afl, a_collect, a_len);
|
||||
maybe_add_auto((u8 *)afl, a_collect, a_len);
|
||||
|
||||
a_len = 0;
|
||||
prev_cksum = cksum;
|
||||
@ -2775,7 +2775,7 @@ u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
|
||||
without wasting time on checksums. */
|
||||
|
||||
if (!afl->dumb_mode && len >= EFF_MIN_LEN)
|
||||
cksum = hash32(afl->fsrv.trace_bits, MAP_SIZE, HASH_CONST);
|
||||
cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
|
||||
else
|
||||
cksum = ~afl->queue_cur->exec_cksum;
|
||||
|
||||
|
Reference in New Issue
Block a user