The size of `ptr` here is not the same as the variable `size`.
We were counting the size of header twice.
This commit is contained in:
Urabe, Shyouhei 2019-04-24 12:24:44 +09:00
Родитель 6201a89b38
Коммит b11b26bcaf
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -408,7 +408,7 @@ rb_transient_heap_alloc(VALUE obj, size_t req_size)
RB_DEBUG_COUNTER_INC(theap_alloc);
/* ptr is set up; OK to unpoison. */
unpoison_memory_region(ptr, size, true);
unpoison_memory_region(ptr, size - sizeof *header, true);
return ptr;
}
else {