Index: src/OFObject.m ================================================================== --- src/OFObject.m +++ src/OFObject.m @@ -409,19 +409,20 @@ PRE_IVAR->memchunks_size = 0; return self; } + free(ptr); + PRE_IVAR->memchunks[i] = last; + PRE_IVAR->memchunks_size = memchunks_size; + if (OF_UNLIKELY((memchunks = realloc( PRE_IVAR->memchunks, memchunks_size * sizeof(void*))) == NULL)) return self; - free(ptr); PRE_IVAR->memchunks = memchunks; - PRE_IVAR->memchunks[i] = last; - PRE_IVAR->memchunks_size = memchunks_size; return self; } }