diff options
author | Aaron Patterson <tenderlove@ruby-lang.org> | 2022-10-28 16:10:45 -0700 |
---|---|---|
committer | Aaron Patterson <tenderlove@ruby-lang.org> | 2022-10-28 16:10:55 -0700 |
commit | 5e0432f59bb85dd3d98be3c1043a1f9c5b41d86b (patch) | |
tree | 5edfdbf50c9526670f20ea3a946e10db60c159e8 /gc.c | |
parent | 9b462aec4af0fbf9d82cbd3efe1d2cfe15f5e539 (diff) |
fix ASAN error in GC
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -5217,7 +5217,9 @@ try_move(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *free_page, if (gc_is_moveable_obj(objspace, src)) { GC_ASSERT(MARKED_IN_BITMAP(GET_HEAP_MARK_BITS(src), src)); + asan_unlock_freelist(free_page); VALUE dest = (VALUE)free_page->freelist; + asan_lock_freelist(free_page); asan_unpoison_object(dest, false); if (!dest) { /* if we can't get something from the freelist then the page must be |