aboutsummaryrefslogtreecommitdiff
path: root/core/mem/rollback_stack_allocator.odin
diff options
context:
space:
mode:
authorFeoramund <161657516+Feoramund@users.noreply.github.com>2025-06-15 14:29:58 -0400
committerFeoramund <161657516+Feoramund@users.noreply.github.com>2025-06-15 15:06:28 -0400
commitefba9a1fb72040d527446cd262bdb59894d091c6 (patch)
tree13525f69ab76652dddc8fd408db30e2505e84540 /core/mem/rollback_stack_allocator.odin
parent0b2cf9a4ca7e84fb7920a8d7b0d58b7d61f24a10 (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.odin8
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
}
}