Repository navigation
OSS-Fuzz: Add new fuzzer/corpus/dict targets tree convertion - #1278
arthurscchan wants to merge 2 commits into
Conversation
Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
facontidavide
left a comment
There was a problem hiding this comment.
Thanks @arthurscchan. Stage 1 (convertFromString<T> on a fuzzed string) is useful. Stages 2–4 depend on the input only through a few PickValue/ConsumeIntegralInRange choices, and the values come from text.size() or from a fixed Animal/Cat/Dog hierarchy. That's about 20 fixed combinations, which unit tests cover better (the polymorphic registry already has gtest_polymorphic_ports.cpp), and they slow every run.
Could you reduce this target to stage 1? If you want to keep stage 2, make it fuzz the value, for example Any(fdp.ConsumeIntegral<int64_t>()) / ConsumeFloatingPoint<double>() and then cast to every numeric type, since that's where the narrowing-check code is. Then please rebase: #1277 is merging first and touches the same fuzzing_build.cmake line.
This PR creates a new OSS-Fuzz fuzzer with corpus/dict targets tree type convertion, together with google/oss-fuzz#16435 to enable a new fuzzer for proejct BehaviorTree.CPP.