@@ -195,24 +195,21 @@ # if ULLONG_MAX > SIZE_MAX if (size > SIZE_MAX) @throw [OFOutOfRangeException exception]; # endif - if ((buffer = malloc((size_t)size)) == NULL) - @throw [OFOutOfMemoryException - exceptionWithRequestedSize: (size_t)size]; - + buffer = of_malloc(1, (size_t)size); file = [[OFFile alloc] initWithPath: path mode: @"r"]; @try { [file readIntoBuffer: buffer exactLength: (size_t)size]; } @finally { [file release]; } } @catch (id e) { - free(buffer); + of_free(buffer); [self release]; @throw e; } @@ -219,11 +216,11 @@ @try { self = [self initWithItemsNoCopy: buffer count: (size_t)size freeWhenDone: true]; } @catch (id e) { - free(buffer); + of_free(buffer); @throw e; } return self; } @@ -381,11 +378,11 @@ } - (void)dealloc { if (_freeWhenDone) - free(_items); + of_free(_items); [_parentData release]; [super dealloc]; }