more fixes

This commit is contained in:
vanhauser-thc
2021-07-09 11:39:25 +02:00
parent e1d5009229
commit d354ec2586
9 changed files with 162 additions and 85 deletions

View File

@ -474,42 +474,10 @@ void add_to_queue(afl_state_t *afl, u8 *fname, u32 len, u8 passed_det) {
if (afl->custom_mutators_count) {
u8 updated = 0;
/* At the initialization stage, queue_cur is NULL */
if (afl->queue_cur && !afl->syncing_party) {
LIST_FOREACH(&afl->custom_mutator_list, struct custom_mutator, {
if (el->afl_custom_queue_new_entry) {
u8 *fname_orig = NULL;
/* At the initialization stage, queue_cur is NULL */
if (afl->queue_cur && !afl->syncing_party) {
fname_orig = afl->queue_cur->fname;
}
if (el->afl_custom_queue_new_entry(el->data, fname, fname_orig)) {
updated = 1;
}
}
});
if (updated) {
struct stat st;
if (stat(fname, &st)) { PFATAL("File %s is gone!", fname); }
if (!st.st_size) {
FATAL("File %s became empty in custom mutator!", fname);
}
q->len = st.st_size;
run_afl_custom_queue_new_entry(afl, q, fname, afl->queue_cur->fname);
}