From b9279ed86ecd58fd5393bd710be5780a6d822d1b Mon Sep 17 00:00:00 2001 From: Simon Resch Date: Wed, 15 Oct 2025 15:39:06 +0200 Subject: [PATCH 1/2] fix: support maxSize > 1000 in map mutator The `@WithSize(max = maxSize)` annotation with `maxSize > 1000` was silently being ignored by the `MapMutator`. Closes #977 --- .../mutation/mutator/collection/MapMutatorFactory.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/MapMutatorFactory.java b/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/MapMutatorFactory.java index 6754d514b..6b06e182e 100644 --- a/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/MapMutatorFactory.java +++ b/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/MapMutatorFactory.java @@ -96,9 +96,8 @@ private static final class MapMutator extends SerializingInPlaceMutator= 1, format("WithSize#max=%d needs to be greater than 0", maxSize)); // TODO: Add support for min > 0 to map. If min > 0, then #read can fail to construct // sufficiently many distinct keys, but the mutation framework currently doesn't offer From e298f3ceae79bbcee0475e61958fa9db0f7acf42 Mon Sep 17 00:00:00 2001 From: Simon Resch Date: Wed, 15 Oct 2025 21:17:41 +0200 Subject: [PATCH 2/2] feat: fail early if min > max in ArrayMutator --- .../mutation/mutator/collection/ArrayMutatorFactory.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/ArrayMutatorFactory.java b/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/ArrayMutatorFactory.java index 16875f77d..29b27eb8f 100644 --- a/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/ArrayMutatorFactory.java +++ b/src/main/java/com/code_intelligence/jazzer/mutation/mutator/collection/ArrayMutatorFactory.java @@ -86,6 +86,11 @@ private static final class ArrayMutator extends SerializingMutator { require( minLength >= 0, format("WithLength#min=%d needs to be greater than or equal to 0", minLength)); + require( + minLength <= maxLength, + format( + "WithLength#min=%d needs to be smaller or equal than WithLength#max=%d", + minLength, maxLength)); } @Override