mirror of https://github.com/google/oss-fuzz.git
![]() When a corpus zip file is unzipped the destination folder is set to be the directory corresponding to the filepath of the zip file but without ".zip" in the name. This is achieved by `for f in /corpus/*.zip; do unzip -q $f -d ${f%%.*}` where `f%%.*` substitutes the path of `f` based on the first occurrence of ".". This causes some issues with fuzztest fuzzers where a fuzzer name always has a "." in it, e.g. `escaping_test@EscapingTest.EscapingAStringNeverTriggersUndefinedBehavior` Substituting the name in this way causes issues for some coverage builds e.g. https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53479 This changes it to substiute based on the last occurrence of ".", i.e. just cutting off the ".zip". Alternatively, we could substitute over e.g. ".zip", however, this may cause some issues as a fuzztest fuzzer may have ".zip" in the name. Signed-off-by: David Korczynski <david@adalogics.com> Signed-off-by: David Korczynski <david@adalogics.com> |
||
---|---|---|
.. | ||
base-images | ||
build | ||
ci | ||
cifuzz | ||
experimental | ||
sanitizers/pysecsan | ||
tools | ||
uploader | ||
.dockerignore | ||
README.md | ||
bisector.py | ||
bisector_test.py | ||
build_fuzzers.Dockerfile | ||
build_specified_commit.py | ||
build_specified_commit_test.py | ||
constants.py | ||
helper.py | ||
helper_test.py | ||
manifest.py | ||
presubmit.py | ||
pytest.ini | ||
repo_manager.py | ||
repo_manager_test.py | ||
retry.py | ||
run_fuzzers.Dockerfile | ||
templates.py | ||
test_repos.py | ||
trigger_test | ||
utils.py | ||
utils_test.py |
README.md
infra
OSS-Fuzz project infrastructure
Core infrastructure:
base-images
- docker images for building fuzz targets & corresponding jenkins pipeline.
Continuous Integration infrastructure:
ci
- script to build projects in CI.
helper.py
script to automate common docker operations
Command | Description |
---|---|
generate |
Generates skeleton files for a new project |
build_image |
Builds a docker image for a given project |
build_fuzzers |
Builds fuzz targets for a given project |
run_fuzzer |
Runs a fuzz target in a docker container |
coverage |
Runs fuzz target(s) in a docker container and generates a code coverage report. See Code Coverage doc |
reproduce |
Runs a testcase to reproduce a crash |
shell |
Starts a shell inside the docker image for a project |