correct realloc