Call gc_free in gc_realloc after allocating new block.

osx
Damien 2013-10-23 21:03:27 +01:00
parent 0f6545139b
commit d2c1a732e5
1 changed files with 2 additions and 0 deletions

View File

@ -329,8 +329,10 @@ void *gc_realloc(void *ptr, machine_uint_t n_bytes) {
if (n_bytes <= n_existing) {
return ptr;
} else {
// TODO check if we can grow inplace
void *ptr2 = gc_alloc(n_bytes);
memcpy(ptr2, ptr, n_existing);
gc_free(ptr);
return ptr2;
}
}