mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 19:08:08 +00:00
wip fix
This commit is contained in:
@ -1026,6 +1026,14 @@ void perform_dry_run(afl_state_t *afl) {
|
|||||||
/* Remove from fuzzing queue but keep for splicing */
|
/* Remove from fuzzing queue but keep for splicing */
|
||||||
|
|
||||||
struct queue_entry *p = afl->queue;
|
struct queue_entry *p = afl->queue;
|
||||||
|
|
||||||
|
if (!p->disabled && !p->was_fuzzed) {
|
||||||
|
|
||||||
|
--afl->pending_not_fuzzed;
|
||||||
|
--afl->active_paths;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
p->disabled = 1;
|
p->disabled = 1;
|
||||||
p->perf_score = 0;
|
p->perf_score = 0;
|
||||||
while (p && p->next != q)
|
while (p && p->next != q)
|
||||||
@ -1036,9 +1044,6 @@ void perform_dry_run(afl_state_t *afl) {
|
|||||||
else
|
else
|
||||||
afl->queue = q->next;
|
afl->queue = q->next;
|
||||||
|
|
||||||
--afl->pending_not_fuzzed;
|
|
||||||
--afl->active_paths;
|
|
||||||
|
|
||||||
afl->max_depth = 0;
|
afl->max_depth = 0;
|
||||||
p = afl->queue;
|
p = afl->queue;
|
||||||
while (p) {
|
while (p) {
|
||||||
@ -1123,8 +1128,16 @@ restart_outer_cull_loop:
|
|||||||
if (!p->cal_failed && p->exec_cksum == q->exec_cksum) {
|
if (!p->cal_failed && p->exec_cksum == q->exec_cksum) {
|
||||||
|
|
||||||
duplicates = 1;
|
duplicates = 1;
|
||||||
--afl->pending_not_fuzzed;
|
if (!p->disabled && !q->disabled && !p->was_fuzzed && !q->was_fuzzed) {
|
||||||
afl->active_paths--;
|
|
||||||
|
--afl->pending_not_fuzzed;
|
||||||
|
afl->active_paths--;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
FATAL("disabled entry? this should not happen, please report!");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// We do not remove any of the memory allocated because for
|
// We do not remove any of the memory allocated because for
|
||||||
// splicing the data might still be interesting.
|
// splicing the data might still be interesting.
|
||||||
|
@ -2782,11 +2782,16 @@ abandon_entry:
|
|||||||
cycle and have not seen this entry before. */
|
cycle and have not seen this entry before. */
|
||||||
|
|
||||||
if (!afl->stop_soon && !afl->queue_cur->cal_failed &&
|
if (!afl->stop_soon && !afl->queue_cur->cal_failed &&
|
||||||
(afl->queue_cur->was_fuzzed == 0 || afl->queue_cur->fuzz_level == 0)) {
|
(afl->queue_cur->was_fuzzed == 0 || afl->queue_cur->fuzz_level == 0) &&
|
||||||
|
!afl->queue_cur->disabled) {
|
||||||
|
|
||||||
--afl->pending_not_fuzzed;
|
if (!afl->queue_cur->was_fuzzed) {
|
||||||
afl->queue_cur->was_fuzzed = 1;
|
|
||||||
if (afl->queue_cur->favored) { --afl->pending_favored; }
|
--afl->pending_not_fuzzed;
|
||||||
|
afl->queue_cur->was_fuzzed = 1;
|
||||||
|
if (afl->queue_cur->favored) { --afl->pending_favored; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user