Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can I call LLVMFuzzerMutate multiple times for different subsets of data #12815

Open
ktmf01 opened this issue Dec 6, 2024 · 1 comment
Open

Comments

@ktmf01
Copy link
Contributor

ktmf01 commented Dec 6, 2024

I'd like to implement a custom mutator to improve fuzzing in the flac project.

In this case, the custom mutator would unpack a series of packets, mutate them, and then repack them to form a single stream. I'm unsure what the best way is to do this.

  • Should I call LLVMFuzzerMutate for each packet separately?
  • Should I call LLVMFuzzerMutate for one packet, with a packet chosen based on the seed? (For example, if the stream has 8 packets, take the (seed % 8)th packet and mutate it? This guess this only works properly if the seed is different for each mutation?
  • Should I call LLVMFuzzerMutate once for all packets concatenated, and then split them based on the old split locations?
@nwellnhof
Copy link
Contributor

In general, I wouldn't make multiple unrelated mutations at once, so I'd go with the second option. The seed will be different for each mutation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants