From 3b6cd3bc45a214221ac1dc524acd51ff28e6938f Mon Sep 17 00:00:00 2001 From: Alwin Berger Date: Thu, 15 Aug 2024 09:38:52 +0200 Subject: [PATCH] fix bug causing skipped mutation when part size is 0 --- libafl/src/mutators/multi.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libafl/src/mutators/multi.rs b/libafl/src/mutators/multi.rs index 591dd50eb7..c74daf1712 100644 --- a/libafl/src/mutators/multi.rs +++ b/libafl/src/mutators/multi.rs @@ -299,6 +299,10 @@ where drop(other_testcase); let size = part.bytes().len(); + if size == 0 { // Workaround for a bug where parts are empty. The origin remains unknown. + return Ok(MutationResult::Skipped); + } + let target = state.rand_mut().below(size); let range = rand_range(state, other_size, min(other_size, size - target));