Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ public final class FuzzTargetRunner {
useMutatorFramework =
Opt.mutatorFramework.get()
&& Opt.autofuzz.get().isEmpty()
&& !(fuzzTarget.usesPrimitiveByteArray() || fuzzTarget.usesFuzzedDataProvider());
&& !fuzzTarget.usesFuzzedDataProvider();

useFuzzedDataProvider = fuzzTarget.usesFuzzedDataProvider();
if (!useFuzzedDataProvider && IS_ANDROID) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ public Optional<SerializingMutator<?>> tryCreate(
public static final class PrimitiveArrayMutator<T> extends SerializingMutator<T> {
private static final int DEFAULT_MIN_LENGTH = 0;
private static final int DEFAULT_MAX_LENGTH = 1000;
// This default is chosen to match libFuzzer's default max length for byte arrays.
private static final int DEFAULT_BYTE_ARRAY_MAX_LENGTH = 4096;
private static final Charset FUZZED_DATA_CHARSET = Charset.forName("CESU-8");
private long minRange;
private long maxRange;
Expand Down Expand Up @@ -216,7 +218,12 @@ private void extractRange(AnnotatedType type) {
private void extractLength(AnnotatedType type) {
Optional<WithLength> withLength = Optional.ofNullable(type.getAnnotation(WithLength.class));
minLength = withLength.map(WithLength::min).orElse(DEFAULT_MIN_LENGTH);
maxLength = withLength.map(WithLength::max).orElse(DEFAULT_MAX_LENGTH);
// Different default max lengths for byte[] and other primitive arrays to match libFuzzer.
int defaultMaxLength =
type.getType().getTypeName().equals("byte")
? DEFAULT_BYTE_ARRAY_MAX_LENGTH
: DEFAULT_MAX_LENGTH;
maxLength = withLength.map(WithLength::max).orElse(defaultMaxLength);
}

private AnnotatedType convertWithLength(AnnotatedType type, AnnotatedType newType) {
Expand Down
Loading