fix classify counts

This commit is contained in:
vanhauser-thc
2022-01-15 13:58:17 +01:00
parent 20177151e6
commit 4217a6606c
9 changed files with 108 additions and 57 deletions

View File

@ -250,20 +250,21 @@ inline u8 has_new_bits(afl_state_t *afl, u8 *virgin_map) {
inline u8 has_new_bits_unclassified(afl_state_t *afl, u8 *virgin_map) {
/* Handle the hot path first: no new coverage */
u32 off;
u8 *end = afl->fsrv.trace_bits + afl->fsrv.map_size;
#ifdef WORD_SIZE_64
if (!skim((u64 *)virgin_map, (u64 *)afl->fsrv.trace_bits, (u64 *)end))
if (!(off = skim((u64 *)virgin_map, (u64 *)afl->fsrv.trace_bits, (u64 *)end)))
return 0;
#else
if (!skim((u32 *)virgin_map, (u32 *)afl->fsrv.trace_bits, (u32 *)end))
if (!(off = skim((u32 *)virgin_map, (u32 *)afl->fsrv.trace_bits, (u32 *)end)))
return 0;
#endif /* ^WORD_SIZE_64 */
classify_counts(&afl->fsrv);
classify_counts_off(&afl->fsrv, off);
return has_new_bits(afl, virgin_map);
}