Skip to content

ossfuzz: add re2_set_fuzzer for RE2::Set multi-pattern matching#640

Open
XananasX7 wants to merge 1 commit into
google:mainfrom
XananasX7:ossfuzz/re2-set-fuzzer
Open

ossfuzz: add re2_set_fuzzer for RE2::Set multi-pattern matching#640
XananasX7 wants to merge 1 commit into
google:mainfrom
XananasX7:ossfuzz/re2-set-fuzzer

Conversation

@XananasX7

Copy link
Copy Markdown

Summary

The existing OSS-Fuzz re2_fuzzer exercises single-pattern matching via RE2::FullMatch. RE2::Set — the multi-pattern matching API used for routing, filtering, and URL dispatch — takes a separate code path through set.cc and the DFA multi-pattern accept-state machinery and has no dedicated fuzz coverage.

New harness: re2/fuzzing/re2_set_fuzzer.cc

  • Derives number of patterns (1–4) and per-pattern length from fuzz bytes
  • Calls RE2::Set::Add() for each pattern then RE2::Set::Compile()
  • Calls RE2::Set::Match() on the remaining fuzz bytes as input string

Covers: re2/set.cc Add/Compile/Match, re2/dfa.cc multi-pattern DFA cache and accept-state bitmap, and re2/prog.cc multi-pattern bytecode generation.

@XananasX7

Copy link
Copy Markdown
Author

Friendly ping — happy to address any review comments. Thank you!

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

Successfully merging this pull request may close these issues.

1 participant