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

add fuzzer, fix bug #7

Merged
merged 4 commits into from
Aug 15, 2024
Merged

add fuzzer, fix bug #7

merged 4 commits into from
Aug 15, 2024

Conversation

a10y
Copy link
Contributor

@a10y a10y commented Aug 15, 2024

Add initial fuzzer setup, runs cargo fuzz on a schedule like Vortex repo.

There was an out-of-bound access in the compress function when loading the last 8 byte word. I replaced it with a copy that is safer while also preserving our existing performance.

use libfuzzer_sys::fuzz_target;

fuzz_target!(|data: &[u8]| {
let _ = fsst_rs::train(data);
Copy link
Contributor Author

@a10y a10y Aug 15, 2024

Choose a reason for hiding this comment

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

this one is slow b/c the train function is still relatively slow, so I don't run this target in CI. once we improve performance to match compress we can turn this back on

@a10y a10y requested a review from AdamGS August 15, 2024 17:33
@a10y a10y merged commit 1b58639 into develop Aug 15, 2024
1 check passed
@a10y a10y deleted the aduffy/fuzz branch August 15, 2024 17:48
@github-actions github-actions bot mentioned this pull request Aug 15, 2024
a10y pushed a commit that referenced this pull request Aug 15, 2024
## 🤖 New release
* `fsst-rs`: 0.0.1

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

## [0.0.1](https://github.com/spiraldb/fsst/releases/tag/v0.0.1) -
2024-08-15

### Fixed
- fix doc link

### Other
- turn on release-plz
- add fuzzer, fix bug ([#7](#7))
- logo ([#6](#6))
- bugfix, comment fix, force compile fails for big-endian
([#5](#5))
- Configure Renovate ([#1](#1))
- Get compress performance to match paper algorithm 4
([#3](#3))
- docs
- cleanup
- words
- README
- disable release action for now
- deny(missing_docs), 512 -> 511
- add toolchain
- add actions files
- implementation v0
- initial impl
- Initial commit
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/MarcoIeni/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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