diff options
author | Urabe, Shyouhei <shyouhei@ruby-lang.org> | 2019-04-24 11:23:13 +0900 |
---|---|---|
committer | Urabe, Shyouhei <shyouhei@ruby-lang.org> | 2019-04-26 15:59:40 +0900 |
commit | 6201a89b38afb6bb2a548aeba0ca77090851713b (patch) | |
tree | 95135097b4a3e08ccaa952454917b9656832540c /transient_heap.c | |
parent | 572f2ddff64ddf12f2331ad77b72d2b0c9d9883c (diff) |
mark verify functions non-sanitizable
These functions purposefully read from memory regions potentially
not handled well. Should let sanitizers avoid checking them.
Diffstat (limited to 'transient_heap.c')
-rw-r--r-- | transient_heap.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/transient_heap.c b/transient_heap.c index 9aad8a183d..eb94edabf7 100644 --- a/transient_heap.c +++ b/transient_heap.c @@ -155,6 +155,7 @@ rb_transient_heap_dump(void) } #if TRANSIENT_HEAP_CHECK_MODE >= 2 +ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(static void transient_heap_ptr_check(struct transient_heap *theap, VALUE obj)); static void transient_heap_ptr_check(struct transient_heap *theap, VALUE obj) { @@ -164,6 +165,7 @@ transient_heap_ptr_check(struct transient_heap *theap, VALUE obj) } } +ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(static int transient_heap_block_verify(struct transient_heap *theap, struct transient_heap_block *block)); static int transient_heap_block_verify(struct transient_heap *theap, struct transient_heap_block *block) { @@ -559,6 +561,7 @@ rb_transient_heap_mark(VALUE obj, const void *ptr) } } +ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(static const void *transient_heap_ptr(VALUE obj, int error)); static const void * transient_heap_ptr(VALUE obj, int error) { |