mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
fix ASAN error in GC
This commit is contained in:
parent
9b462aec4a
commit
5e0432f59b
1 changed files with 2 additions and 0 deletions
2
gc.c
2
gc.c
|
@ -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)) {
|
if (gc_is_moveable_obj(objspace, src)) {
|
||||||
GC_ASSERT(MARKED_IN_BITMAP(GET_HEAP_MARK_BITS(src), src));
|
GC_ASSERT(MARKED_IN_BITMAP(GET_HEAP_MARK_BITS(src), src));
|
||||||
|
|
||||||
|
asan_unlock_freelist(free_page);
|
||||||
VALUE dest = (VALUE)free_page->freelist;
|
VALUE dest = (VALUE)free_page->freelist;
|
||||||
|
asan_lock_freelist(free_page);
|
||||||
asan_unpoison_object(dest, false);
|
asan_unpoison_object(dest, false);
|
||||||
if (!dest) {
|
if (!dest) {
|
||||||
/* if we can't get something from the freelist then the page must be
|
/* if we can't get something from the freelist then the page must be
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue