diff options
author | van Hauser <vh@thc.org> | 2023-09-11 12:52:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-11 12:52:46 +0000 |
commit | a8185f8ff294d937e6074f148f6b4c971ca02cee (patch) | |
tree | 7e08944ee7d26be8947d74496909838674dbc21b /src/afl-fuzz.c | |
parent | 5f6c76e192bcfde6abcf9d4156bfbb87d5480e23 (diff) | |
parent | cd6b89eb74cc501a67b1c14a4433a496b2053eec (diff) | |
download | afl++-a8185f8ff294d937e6074f148f6b4c971ca02cee.tar.gz |
Merge pull request #1858 from AFLplusplus/pendfav
Pendfav
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r-- | src/afl-fuzz.c | 50 |
1 files changed, 40 insertions, 10 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 90c255e3..d34b52db 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -2707,22 +2707,52 @@ int main(int argc, char **argv_orig, char **envp) { if (likely(!afl->old_seed_selection)) { - if (unlikely(prev_queued_items < afl->queued_items || - afl->reinit_table)) { + if (likely(afl->pending_favored && afl->smallest_favored >= 0)) { - // we have new queue entries since the last run, recreate alias table - prev_queued_items = afl->queued_items; - create_alias_table(afl); + afl->current_entry = afl->smallest_favored; - } + /* - do { + } else { - afl->current_entry = select_next_queue_entry(afl); + for (s32 iter = afl->queued_items - 1; iter >= 0; --iter) + { - } while (unlikely(afl->current_entry >= afl->queued_items)); + if (unlikely(afl->queue_buf[iter]->favored && + !afl->queue_buf[iter]->was_fuzzed)) { - afl->queue_cur = afl->queue_buf[afl->current_entry]; + afl->current_entry = iter; + break; + + } + + } + + */ + + afl->queue_cur = afl->queue_buf[afl->current_entry]; + + } else { + + if (unlikely(prev_queued_items < afl->queued_items || + afl->reinit_table)) { + + // we have new queue entries since the last run, recreate alias + // table + prev_queued_items = afl->queued_items; + create_alias_table(afl); + + } + + do { + + afl->current_entry = select_next_queue_entry(afl); + + } while (unlikely(afl->current_entry >= afl->queued_items)); + + afl->queue_cur = afl->queue_buf[afl->current_entry]; + + } } |