list: proper realloc