@@ -74,18 +74,16 @@ return iter->ptr; } - (void*)getMemForNItems: (size_t)nitems - withSize: (size_t)size + ofSize: (size_t)size { size_t memsize; - if (size > SIZE_MAX / nitems) { + if (size > SIZE_MAX / nitems) [[OFOverflowException newWithObject: self] raise]; - return NULL; - } memsize = nitems * size; return [self getMemWithSize: memsize]; } @@ -97,36 +95,32 @@ if (ptr == NULL) return [self getMemWithSize: size]; for (iter = __mem_pool; iter != NULL; iter = iter->prev) { if (iter->ptr == ptr) { - if ((ptr = realloc(iter->ptr, size)) == NULL) { + if ((ptr = realloc(iter->ptr, size)) == NULL) [[OFNoMemException newWithObject: self andSize: size] raise]; - return iter->ptr; - } iter->ptr = ptr; return ptr; } } [[OFMemNotPartOfObjException newWithObject: self andPointer: ptr] raise]; - return NULL; + return NULL; /* never reached, but makes gcc happy */ } - (void*)resizeMem: (void*)ptr toNItems: (size_t)nitems ofSize: (size_t)size { size_t memsize; - if (size > SIZE_MAX / nitems) { + if (size > SIZE_MAX / nitems) [[OFOverflowException newWithObject: self] raise]; - return ptr; - } memsize = nitems * size; return [self resizeMem: ptr toSize: memsize]; } @@ -151,9 +145,8 @@ } } [[OFMemNotPartOfObjException newWithObject: self andPointer: ptr] raise]; - - return self; + return self /* never reached, but makes gcc happy */; } @end