c6636afbbb
`ZSTD_estimateCCtxSize()` provides estimates for one-shot compression, which is guaranteed not to buffer inputs or outputs. So it ignores the sizes of the buffers, assuming they'll be zero. However, the actual workspace allocation logic always allocates those buffers, and when running under ASAN, the workspace surrounds every allocation with 256 bytes of redzone. So the 0-sized buffers end up consuming 512 bytes of space, which is accounted for in the actual allocation path through the use of `ZSTD_cwksp_alloc_size()` but isn't in the estimation path, since it ignores the buffers entirely. This commit fixes this. |
||
---|---|---|
.. | ||
fse_compress.c | ||
hist.c | ||
hist.h | ||
huf_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_compress.c | ||
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_opt.c | ||
zstd_opt.h | ||
zstdmt_compress.c | ||
zstdmt_compress.h |