google / google/libprotobuf-mutator
Recursive depth on google.protobuf.Structs
Open
- Dominant language
- C++
- Stars
- 667
- Forks
- 134
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
It seems like one of our fuzzers is failing because of a stack-overflow in protobuf's `TextFormat::Parser`. The input that libprotobuf-mutator created was a Struct that has a large recursive depth, but is not enough to trigger the max recursion limit in the parser (which is by default 2^15 - 1).
https://github.com/protocolbuffers/protobuf/blob/6fc04c3f0e07857dff1f55b884f957b4c65aea8e/src/google/protobuf/text_format.cc#L1383.
Is there some environment variable we could set to limit the recursive depth that LPM creates, or another way to handle such an input?
Thanks!
Contributor guide
Assessment
This issue has not been assessed yet.