diff options
author | vanhauser-thc <vh@thc.org> | 2023-01-15 08:26:15 +0100 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2023-01-15 08:26:15 +0100 |
commit | 5163a49350ed17149cb3c52bc79bd87e86402510 (patch) | |
tree | 5da6d27640d530836f692c80f5c0a94c9cfb60a5 /src/afl-fuzz-init.c | |
parent | 7abbc8d7401e4a358986a5ff5d1157f44761e6a7 (diff) | |
download | afl++-5163a49350ed17149cb3c52bc79bd87e86402510.tar.gz |
fix input file deletion
Diffstat (limited to 'src/afl-fuzz-init.c')
-rw-r--r-- | src/afl-fuzz-init.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c index adfc55ad..1182bd41 100644 --- a/src/afl-fuzz-init.c +++ b/src/afl-fuzz-init.c @@ -1817,17 +1817,35 @@ static void handle_existing_out_dir(afl_state_t *afl) { if (afl->file_extension) { - fn = alloc_printf("%s/.cur_input.%s", afl->tmp_dir, afl->file_extension); + fn = alloc_printf("%s/.cur_input.%s", afl->out_dir, afl->file_extension); } else { - fn = alloc_printf("%s/.cur_input", afl->tmp_dir); + fn = alloc_printf("%s/.cur_input", afl->out_dir); } if (unlink(fn) && errno != ENOENT) { goto dir_cleanup_failed; } ck_free(fn); + if (afl->afl_env.afl_tmpdir) { + + if (afl->file_extension) { + + fn = alloc_printf("%s/.cur_input.%s", afl->afl_env.afl_tmpdir, + afl->file_extension); + + } else { + + fn = alloc_printf("%s/.cur_input", afl->afl_env.afl_tmpdir); + + } + + if (unlink(fn) && errno != ENOENT) { goto dir_cleanup_failed; } + ck_free(fn); + + } + fn = alloc_printf("%s/fuzz_bitmap", afl->out_dir); if (unlink(fn) && errno != ENOENT) { goto dir_cleanup_failed; } ck_free(fn); |