Index: src/OFDataArray.m ================================================================== --- src/OFDataArray.m +++ src/OFDataArray.m @@ -137,13 +137,18 @@ if (nitems > count) @throw [OFOutOfRangeException newWithClass: isa]; count -= nitems; - data = [self resizeMemory: data - toNItems: count - withSize: itemsize]; + @try { + data = [self resizeMemory: data + toNItems: count + withSize: itemsize]; + } @catch (OFOutOfMemoryException *e) { + /* We don't really care, as we only made it smaller */ + [e dealloc]; + } return self; } - removeNItems: (size_t)nitems @@ -154,13 +159,18 @@ memmove(data + index * itemsize, data + (index + nitems) * itemsize, nitems * itemsize); count -= nitems; - data = [self resizeMemory: data - toNItems: count - withSize: itemsize]; + @try { + data = [self resizeMemory: data + toNItems: count + withSize: itemsize]; + } @catch (OFOutOfMemoryException *e) { + /* We don't really care, as we only made it smaller */ + [e dealloc]; + } return self; } - (id)copy