skip mutation of 0 size inputs

This commit is contained in:
Alwin Berger 2024-08-23 12:28:00 +02:00
parent a18a5f9bcf
commit f14d486ccf

View File

@ -153,6 +153,9 @@ where
.map(|(idx, part)| (idx, part.bytes().len()));
if let Some((part_idx, size)) = maybe_size {
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));
@ -195,6 +198,9 @@ 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));
@ -257,6 +263,9 @@ where
.map(|(idx, part)| (idx, part.bytes().len()));
if let Some((part_idx, size)) = maybe_size {
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));