-
Notifications
You must be signed in to change notification settings - Fork 322
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
Fuzzing Coverage Expansion #866
Conversation
New fuzzers and corpora were added for OSS-Fuzz.
Please see #289 for reference. A) I would like to move seed files off-repo, since it is making the repo too large. I have an old repo that was used for the old fuzz tests, but can be repurposed for this. B) I do not want to end up like with #289 - where a third party controls scripts that I cannot modify freely. This means I have been unable to modify/add my fuzz tests for half a year now. I have asked @AdamKorcz for assistance in this, but no response. If I am not in control of the setup, I will not accept this. Needless to say I am not very happy about the current setup and would like that fixed as a primary thing, which TBH is more important than adding coverage. If you need assistance in making CI pass, let me know. |
Renaming from x_fuzz_test.go to fuzz_test.go
Fixes `panic: runtime error: index out of range [7] with length 5` when providing short input to EstimateBlockSize. Found via #866
Fixes `panic: runtime error: index out of range [7] with length 5` when providing short input to EstimateBlockSize. Found via #866
Regarding fuzzing setup:
Does it make sense? |
Seems a file is missing:
|
workaround in s2 is removed; snappy fuzzer is moved to fuzz_test; missing file is added.
Thanks! I've added a missing file and slightly changed a path to it. |
|
|
Imports are always sorted.
Yes, please do that.
Sounds like a reasonable approach. |
Fix import issue in fse; Merge s2_fuzz_test with s2/fuzz_test.
Moving setup_dicts.go from oss-fuzz
Alright, we started working on it. |
Setup_dicts is moved to ossfuzz dir; Configuration file ossfuzz.sh is moved to repo.
Adding a comment
Hi @klauspost! We've made changes as discussed earlier. We've also opened a pull request to compress-fuzz with seed corpuses klauspost/compress-fuzz#2. Please let us know, if we need to change anything. |
Thanks! I will run the tests and give it a final review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one change and a question.
I have edited ossfuzz.sh file and decreased the seed corpus in size. |
Looks good! |
Thanks! Please also review klauspost/compress-fuzz#2 , so I can make a PR to oss-fuzz in order to start fuzzing. |
Ah. Somehow I missed that. Will take a look - probably tomorrow. |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/klauspost/compress](https://github.com/klauspost/compress) | indirect | patch | `v1.17.0` -> `v1.17.2` | --- ### Release Notes <details> <summary>klauspost/compress (github.com/klauspost/compress)</summary> ### [`v1.17.2`](https://github.com/klauspost/compress/releases/tag/v1.17.2) [Compare Source](https://github.com/klauspost/compress/compare/v1.17.1...v1.17.2) #### What's Changed - zstd: Fix corrupted output in "best" by [@​klauspost](https://github.com/klauspost) in [https://github.com/klauspost/compress/pull/876](https://github.com/klauspost/compress/pull/876) **Full Changelog**: klauspost/compress@v1.17.1...v1.17.2 ### [`v1.17.1`](https://github.com/klauspost/compress/releases/tag/v1.17.1) [Compare Source](https://github.com/klauspost/compress/compare/v1.17.0...v1.17.1) #### What's Changed - s2: Fix S2 "best" dictionary wrong encoding by [@​klauspost](https://github.com/klauspost) in [https://github.com/klauspost/compress/pull/871](https://github.com/klauspost/compress/pull/871) - flate: Reduce allocations in decompressor and minor code improvements by [@​fakefloordiv](https://github.com/fakefloordiv) in [https://github.com/klauspost/compress/pull/869](https://github.com/klauspost/compress/pull/869) - s2: Fix EstimateBlockSize on 6&7 length input by [@​klauspost](https://github.com/klauspost) in [https://github.com/klauspost/compress/pull/867](https://github.com/klauspost/compress/pull/867) - tests: Fuzzing Coverage Expansion by [@​viktoriia-lsg](https://github.com/viktoriia-lsg) in [https://github.com/klauspost/compress/pull/866](https://github.com/klauspost/compress/pull/866) - tests: Set FSE decompress fuzzer max limit by [@​klauspost](https://github.com/klauspost) in [https://github.com/klauspost/compress/pull/868](https://github.com/klauspost/compress/pull/868) - tests: Fuzzing Coverage Expansion ([#​2](https://github.com/klauspost/compress/issues/2)) by [@​viktoriia-lsg](https://github.com/viktoriia-lsg) in [https://github.com/klauspost/compress/pull/870](https://github.com/klauspost/compress/pull/870) #### New Contributors - [@​viktoriia-lsg](https://github.com/viktoriia-lsg) made their first contribution in [https://github.com/klauspost/compress/pull/866](https://github.com/klauspost/compress/pull/866) - [@​fakefloordiv](https://github.com/fakefloordiv) made their first contribution in [https://github.com/klauspost/compress/pull/869](https://github.com/klauspost/compress/pull/869) **Full Changelog**: klauspost/compress@v1.17.0...v1.17.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDkuNCIsInVwZGF0ZWRJblZlciI6IjM2LjEwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
This pull requests expands fuzzing coverage for OSS-fuzz by adding 4 more fuzz test files and 5 corpora files. All fuzz tests are written in native go fuzzing style. Corpora files are compatible with OSS-fuzz format.