alloc: Fix passing wrong oldsize if oldsize==0 in verifying_alloc

This commit is contained in:
Laria 2023-02-09 23:01:46 +01:00
parent 3f6e1f14a9
commit 09f5cef085

View file

@ -35,12 +35,22 @@ verifying_alloc(void *opaque, void *oldptr, size_t oldsize, size_t newsize)
}
if (newsize == 0) {
void *newptr = ALLOCATOR_CALL(*wrapped, oldptr_actual, oldsize + sizeof(size_t), 0);
void *newptr = ALLOCATOR_CALL(
*wrapped,
oldptr_actual,
oldsize == 0 ? 0 : oldsize + sizeof(size_t),
0
);
assert(newptr == NULL);
return newptr;
}
size_t *newptr = ALLOCATOR_CALL(*wrapped, oldptr_actual, oldsize + sizeof(size_t), newsize + sizeof(size_t));
size_t *newptr = ALLOCATOR_CALL(
*wrapped,
oldptr_actual,
oldsize == 0 ? 0 : oldsize + sizeof(size_t),
newsize + sizeof(size_t)
);
if (newptr == NULL) {
return NULL;
}