diff options
author | van Hauser <vh@thc.org> | 2024-08-19 16:51:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-19 16:51:42 +0200 |
commit | f27cbdb79349d6f4f6e859a356758b634be72652 (patch) | |
tree | 8e1dbb1b8454c470aa5e0093f6d89c5cc86e9200 /src/afl-fuzz-queue.c | |
parent | db23931e7c1727ddac8691a6241c97b2203ec6fc (diff) | |
parent | 1689a8e053c1f73e16331bfeda28c79e1ed4bbd0 (diff) | |
download | afl++-f27cbdb79349d6f4f6e859a356758b634be72652.tar.gz |
Merge pull request #2190 from AFLplusplus/dev
push to stable
Diffstat (limited to 'src/afl-fuzz-queue.c')
-rw-r--r-- | src/afl-fuzz-queue.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c index 999929a1..599d31f6 100644 --- a/src/afl-fuzz-queue.c +++ b/src/afl-fuzz-queue.c @@ -476,6 +476,17 @@ void mark_as_redundant(afl_state_t *afl, struct queue_entry *q, u8 state) { q->fs_redundant = state; + if (likely(q->fs_redundant)) { + + if (unlikely(q->trace_mini)) { + + ck_free(q->trace_mini); + q->trace_mini = NULL; + + } + + } + sprintf(fn, "%s/queue/.state/redundant_edges/%s", afl->out_dir, strrchr((char *)q->fname, '/') + 1); @@ -901,7 +912,7 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) { if (!--afl->top_rated[i]->tc_ref) { ck_free(afl->top_rated[i]->trace_mini); - afl->top_rated[i]->trace_mini = 0; + afl->top_rated[i]->trace_mini = NULL; } @@ -962,7 +973,8 @@ void cull_queue(afl_state_t *afl) { for (i = 0; i < afl->fsrv.map_size; ++i) { - if (afl->top_rated[i] && (temp_v[i >> 3] & (1 << (i & 7)))) { + if (afl->top_rated[i] && (temp_v[i >> 3] & (1 << (i & 7))) && + afl->top_rated[i]->trace_mini) { u32 j = len; |