mirror of
https://github.com/facebook/zstd.git
synced 2025-12-07 00:02:39 -05:00
Bug fix redzones by unpoisoning only the intended buffer and not the followup redzone.
This commit is contained in:
parent
41682e6293
commit
1d636b4ba0
@ -348,7 +348,9 @@ ZSTD_cwksp_reserve_internal(ZSTD_cwksp* ws, size_t bytes, ZSTD_cwksp_alloc_phase
|
|||||||
if (alloc) {
|
if (alloc) {
|
||||||
alloc = (BYTE *)alloc + ZSTD_CWKSP_ASAN_REDZONE_SIZE;
|
alloc = (BYTE *)alloc + ZSTD_CWKSP_ASAN_REDZONE_SIZE;
|
||||||
if (ws->isStatic == ZSTD_cwksp_dynamic_alloc) {
|
if (ws->isStatic == ZSTD_cwksp_dynamic_alloc) {
|
||||||
__asan_unpoison_memory_region(alloc, bytes);
|
/* We need to keep the redzone poisoned while unpoisoning the bytes that
|
||||||
|
* are actually allocated. */
|
||||||
|
__asan_unpoison_memory_region(alloc, bytes - 2 * ZSTD_CWKSP_ASAN_REDZONE_SIZE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user