Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSSFuzz integration #214

Merged
merged 3 commits into from
Nov 19, 2023
Merged

Conversation

capuanob
Copy link
Contributor

@capuanob capuanob commented Nov 19, 2023

What does this change do?

  • Introduces a fuzzing directory containing a fuzzing harness that targets the parse entrypoint and tests the various serializers available in the library.
  • Introduces a build script that the OSSFuzz integration will use to build the fuzzer twice a day
  • Integrates the fuzzer into the build-system, using a CMake Option called BUILD_FUZZER

Is it related to an exisiting bug report or feature request?

Implements #208

Pre-merge checklist

  • I've read CONTRIBUTING.md
  • I've rebased my changes against the current HEAD of origin/master (if necessary)
  • I've added new test cases to verify my change
  • I've regenerated toml.hpp (how-to)
  • I've updated any affected documentation
  • I've rebuilt and run the tests with at least one of:
    • Clang 8 or higher
    • GCC 8 or higher
    • MSVC 19.20 (Visual Studio 2019) or higher
  • I've added my name to the list of contributors in README.md

@capuanob
Copy link
Contributor Author

@marzer Apologize for the delay in getting this implemented! This PR represents the majority of what is needed to get this project integrated into OSSFuzz for continuous fuzz-testing. Once this is merged, I will submit a PR to the OSSFuzz project that defines a Dockerfile that will pull this project and run the build.sh

@capuanob
Copy link
Contributor Author

@marzer Apologize for the delay in getting this implemented! This PR represents the majority of what is needed to get this project integrated into OSSFuzz for continuous fuzz-testing. Once this is merged, I will submit a PR to the OSSFuzz project that defines a Dockerfile that will pull this project and run the build.sh

Also, the CIFuzz job will fail until that Dockerfile is merged into OSSFuzz

@marzer
Copy link
Owner

marzer commented Nov 19, 2023

Thanks for this! Looks good to me :)

Also, the CIFuzz job will fail until that Dockerfile is merged into OSSFuzz

Yep, figured as much. No problem.

@marzer marzer changed the title Integration into build-system and initial harness OSSFuzz integration Nov 19, 2023
@marzer marzer merged commit b196494 into marzer:master Nov 19, 2023
6 of 7 checks passed
DavidKorczynski pushed a commit to google/oss-fuzz that referenced this pull request Nov 20, 2023
The harness and build.sh have already been integrated into master, as
seen in this [PR](marzer/tomlplusplus#214).

This pull request solely adds the necessary Dockerfile
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.

2 participants