prevents memory corruption in certain realloc() scenarios
reported by @mato
alignpad = op->ov_alignpad;
/* don't bother "compacting". don't like it? don't use realloc! */
- if (((1<<(size+MINSHIFT)) - (alignpad+sizeof(*op))) >= nbytes)
+ if (((1<<(size+MINSHIFT)) - alignpad) >= nbytes)
return cp;
/* we're gonna need a bigger bucket */
if (np == NULL)
return NULL;
- memcpy(np, cp, (1<<(size+MINSHIFT)) - (alignpad+sizeof(*op)));
+ memcpy(np, cp, (1<<(size+MINSHIFT)) - alignpad);
memfree(cp);
return np;
}