google / google/libprotobuf-mutator
Binary fuzzer fails for required fields
Open
- Dominant language
- C++
- Stars
- 667
- Forks
- 134
- PR merge metrics
- No merged PRs in 30d
Description
The binary format parser uses ParsePartialFromString while parsing the message: https://github.com/google/libprotobuf-mutator/blob/a304ec48dcf15d942607032151f7e9ee504b5dcf/src/binary_format.cc#L28
However the LoadProtoInput [calls mutator fix](https://github.com/google/libprotobuf-mutator/blob/a304ec48dcf15d942607032151f7e9ee504b5dcf/src/libfuzzer/libfuzzer_macro.cc#L230) which expects an initialized message (i.e. with all the required fields set).
I think the binary format parser should use ParseFromString instead of ParsePartialFromString.
Contributor guide
Assessment
This issue has not been assessed yet.