Skip to content

Add fuzz target for MiniReflect API (FlatBufferToString / IterateFlatBuffer)#9021

Open
sameerali275 wants to merge 2 commits intogoogle:masterfrom
sameerali275:add-minireflect-fuzzer
Open

Add fuzz target for MiniReflect API (FlatBufferToString / IterateFlatBuffer)#9021
sameerali275 wants to merge 2 commits intogoogle:masterfrom
sameerali275:add-minireflect-fuzzer

Conversation

@sameerali275
Copy link
Copy Markdown

The MiniReflect API (FlatBufferToString, IterateFlatBuffer, IterateObject) processes arbitrary binary FlatBuffer data but has no fuzz coverage. This adds a fuzzer that feeds random bytes through these functions using the Movie schema (union_vector.fbs), which exercises:

  • Union vectors (characters:[Character])
  • Single unions (main_character:Character)
  • Structs in unions (Rapunzel, BookReader)
  • Strings in unions (Other, Unused)
  • Nested tables (Attacker, HandFan)

This fills a gap in the existing fuzzer suite — all 8 existing fuzz targets exercise the parser, verifier, codegen, or annotator, but none exercise the MiniReflect traversal codepath.

Files Changed

  • tests/fuzzer/flatbuffers_minireflect_fuzzer.cc (new file)
  • tests/fuzzer/CMakeLists.txt (add build target)

Add fuzz target for the MiniReflect API (FlatBufferToString,
IterateFlatBuffer). Covers minireflect.h which was previously
unfuzzed despite handling untrusted binary input.
Register the MiniReflect fuzz target in the CMake build
@google-cla
Copy link
Copy Markdown

google-cla bot commented Apr 4, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@sameerali275
Copy link
Copy Markdown
Author

Hi @dbaileychess, can you please review this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant