fix stdin trimming

This commit is contained in:
vanhauser-thc
2021-04-30 23:41:06 +02:00
parent f4cc718fdc
commit 86452cc959
4 changed files with 21 additions and 15 deletions

View File

@ -203,7 +203,7 @@ static void write_with_gap(afl_state_t *afl, u8 *mem, u32 len, u32 skip_at,
}
if (afl->fsrv.shmem_fuzz) {
if (likely(afl->fsrv.use_shmem_fuzz)) {
if (!post_process_skipped) {
@ -211,9 +211,7 @@ static void write_with_gap(afl_state_t *afl, u8 *mem, u32 len, u32 skip_at,
memcpy(afl->fsrv.shmem_fuzz, new_mem, new_size);
}
else {
} else {
memcpy(afl->fsrv.shmem_fuzz, mem, skip_at);
@ -244,7 +242,7 @@ static void write_with_gap(afl_state_t *afl, u8 *mem, u32 len, u32 skip_at,
return;
} else if (afl->fsrv.out_file) {
} else if (unlikely(!afl->fsrv.use_stdin)) {
if (unlikely(afl->no_unlink)) {
@ -279,7 +277,7 @@ static void write_with_gap(afl_state_t *afl, u8 *mem, u32 len, u32 skip_at,
}
if (!afl->fsrv.out_file) {
if (afl->fsrv.use_stdin) {
if (ftruncate(fd, new_size)) { PFATAL("ftruncate() failed"); }
lseek(fd, 0, SEEK_SET);