diff options
| author | Feoramund <161657516+Feoramund@users.noreply.github.com> | 2025-06-15 14:29:58 -0400 |
|---|---|---|
| committer | Feoramund <161657516+Feoramund@users.noreply.github.com> | 2025-06-15 15:06:28 -0400 |
| commit | efba9a1fb72040d527446cd262bdb59894d091c6 (patch) | |
| tree | 13525f69ab76652dddc8fd408db30e2505e84540 /core/mem/rollback_stack_allocator.odin | |
| parent | 0b2cf9a4ca7e84fb7920a8d7b0d58b7d61f24a10 (diff) | |
Disable usage of AddressSanitizer pending a per-allocator review
It has been discovered that AddressSanitizer does not keep a 1:1 mapping
of which bytes are poisoned and which are not. This can cause issues for
allocations less than 8 bytes and where addresses straddle 8-byte
boundaries.
See the following link for more information:
https://github.com/google/sanitizers/wiki/AddressSanitizerAlgorithm#mapping
Diffstat (limited to 'core/mem/rollback_stack_allocator.odin')
| -rw-r--r-- | core/mem/rollback_stack_allocator.odin | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/mem/rollback_stack_allocator.odin b/core/mem/rollback_stack_allocator.odin index a00131b7f..3f16a2897 100644 --- a/core/mem/rollback_stack_allocator.odin +++ b/core/mem/rollback_stack_allocator.odin @@ -1,7 +1,7 @@ package mem import "base:runtime" -import "base:sanitizer" +// import "base:sanitizer" /* Rollback stack default block size. @@ -134,7 +134,7 @@ rb_free_all :: proc(stack: ^Rollback_Stack) { stack.head.next_block = nil stack.head.last_alloc = nil stack.head.offset = 0 - sanitizer.address_poison(stack.head.buffer) + // sanitizer.address_poison(stack.head.buffer) } /* @@ -241,7 +241,7 @@ rb_alloc_bytes_non_zeroed :: proc( block.offset = cast(uintptr)len(block.buffer) } res := ptr[:size] - sanitizer.address_unpoison(res) + // sanitizer.address_unpoison(res) return res, nil } return nil, .Out_Of_Memory @@ -338,7 +338,7 @@ rb_resize_bytes_non_zeroed :: proc( block.offset += cast(uintptr)size - cast(uintptr)old_size } res := (ptr)[:size] - sanitizer.address_unpoison(res) + // sanitizer.address_unpoison(res) #no_bounds_check return res, nil } } |