Hello list,
I've been playing with com32 programs lately and I've come across a
a problem with the realloc function in libcom32. The code that rounds
up the size looks to be missing a '~' operator, resulting in it
truncating every request to a size of 0-15 bytes.
The little patch below fixes it up to match the corresponding line in
malloc, which makes it work for me.
K.
}
/* Add the obligatory arena header, and round up */
- size = (size+2*sizeof(struct arena_header)-1) & ARENA_SIZE_MASK;
+ size = (size+2*sizeof(struct arena_header)-1) & ~ARENA_SIZE_MASK;
ah = (struct free_arena_header *)
((struct arena_header *)ptr - 1);