Skip to content

OSS-Fuzz: Move fuzzer to upstream repository - #1724

Open
arthurscchan wants to merge 7 commits into
open-source-parsers:masterfrom
arthurscchan:oss-fuzz-fuzzers-upstream
Open

arthurscchan wants to merge 7 commits into
open-source-parsers:masterfrom
arthurscchan:oss-fuzz-fuzzers-upstream

Conversation

@arthurscchan

Copy link
Copy Markdown

This PR moves all the OSS-Fuzz fuzzers to the upstream storage for easier management. This PR works together with OSS-Fuzz (google/oss-fuzz#16308) to accommodate the moving of fuzzers upstream.

Of course, this is only a suggestion. If the maintainers would prefer the fuzzers to remain in OSS-Fuzz, I am happy to keep the current setup and to ping the relevant maintainers for review whenever I add new fuzzers later in the process.

Thank you for considering this, and I would welcome any feedback on the preferred approach.

Remark: After this PR is accepted and merged, there will be additional PRs for adding new fuzzers for this project later.

Signed-off-by: Arthur SC Chan <arthur.chan@adalogics.com>
@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; no new actionable issue was found.

Summary

This PR brings the OSS-Fuzz protobuf sources into JsonCpp and adds an optional standalone fuzz target.

  • CMake can build the byte-input fuzzer without the regular tests.
  • Protobuf mutations can drive JSON parser cases with varied settings.

The previous-review commits have different merge bases with the target commit, so this review covered the full PR range.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  CMake["CMake: JSONCPP_WITH_FUZZING"] --> Raw["fuzz.cpp"]
  Engine["Fuzzing engine"] --> Raw
  OSS["Separate OSS-Fuzz build"] --> Proto["json.proto and protobuf fuzzer"]
  Proto --> Converter["JSON text converter"]
  Raw --> Reader["Json::CharReader"]
  Converter --> Reader
Loading

Reviews (7) · Last reviewed commit: "Merge branch 'master' into oss-fuzz-fuzz..." · Reviewed by Greptile

Comment thread src/test_lib_json/CMakeLists.txt Resolved
Comment thread src/test_lib_json/CMakeLists.txt Resolved
Comment thread src/test_lib_json/jsoncpp_fuzz_proto.cc Resolved
Signed-off-by: Arthur SC Chan <arthur.chan@adalogics.com>
Signed-off-by: Arthur SC Chan <arthur.chan@adalogics.com>
Signed-off-by: Arthur SC Chan <arthur.chan@adalogics.com>
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 39566034341

Coverage remained the same at 89.907%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 2740
Covered Lines: 2615
Line Coverage: 95.44%
Relevant Branches: 2640
Covered Branches: 2222
Branch Coverage: 84.17%
Branches in Coverage %: Yes
Coverage Strength: 23828.01 hits per line

💛 - Coveralls

@baylesj baylesj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing the automatic greptile feedback. I did a more extensive review and have some asks before landing this in JsonCpp.

Comment thread src/test_lib_json/CMakeLists.txt Resolved
Comment thread src/test_lib_json/CMakeLists.txt Resolved
Comment thread src/test_lib_json/json.proto Resolved
Comment thread src/test_lib_json/jsoncpp_fuzz_proto.cc Resolved
Comment thread src/test_lib_json/CMakeLists.txt Resolved
@arthurscchan

Copy link
Copy Markdown
Author

Thanks for the comments. Please spare me a few days to address those comments as I am stucked in some other things now. I will address them asap. Sorry for the delay.

Signed-off-by: Arthur SC Chan <arthur.chan@adalogics.com>
@greptile-apps

greptile-apps Bot commented Oct 30, 2026

Copy link
Copy Markdown

Want your agent to iterate on Greptile's feedback? Try greploops.

This branch has not been deployed

No deployments
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.

3 participants