mirror of
https://github.com/facebook/zstd
synced 2026-08-22 22:32:07 -04:00
* Remove all pointer-overflow suppressions from our UBSAN builds/tests.
* Add `ZSTD_ALLOW_POINTER_OVERFLOW_ATTR` macro to suppress
pointer-overflow at a per-function level. This is a superior approach
because it also applies to users who build zstd with UBSAN.
* Add `ZSTD_wrappedPtr{Diff,Add,Sub}()` that use these suppressions.
The end goal is to only tag these functions with
`ZSTD_ALLOW_POINTER_OVERFLOW`. But we can start by annoting functions
that rely on pointer overflow, and gradually transition to using
these.
* Add `ZSTD_maybeNullPtrAdd()` to simplify pointer addition when the
pointer may be `NULL`.
* Fix all the fuzzer issues that came up. I'm sure there will be a lot
more, but these are the ones that came up within a few minutes of
running the fuzzers, and while running GitHub CI.
|
||
|---|---|---|
| .. | ||
| clevels.h | ||
| fse_compress.c | ||
| hist.c | ||
| hist.h | ||
| huf_compress.c | ||
| zstd_compress.c | ||
| zstd_compress_internal.h | ||
| zstd_compress_literals.c | ||
| zstd_compress_literals.h | ||
| zstd_compress_sequences.c | ||
| zstd_compress_sequences.h | ||
| zstd_compress_superblock.c | ||
| zstd_compress_superblock.h | ||
| zstd_cwksp.h | ||
| zstd_double_fast.c | ||
| zstd_double_fast.h | ||
| zstd_fast.c | ||
| zstd_fast.h | ||
| zstd_lazy.c | ||
| zstd_lazy.h | ||
| zstd_ldm.c | ||
| zstd_ldm.h | ||
| zstd_ldm_geartab.h | ||
| zstd_opt.c | ||
| zstd_opt.h | ||
| zstdmt_compress.c | ||
| zstdmt_compress.h | ||