Index: src/OFMutableString_UTF8.m ================================================================== --- src/OFMutableString_UTF8.m +++ src/OFMutableString_UTF8.m @@ -475,14 +475,10 @@ - (void)deleteCharactersInRange: (of_range_t)range { size_t start = range.start; size_t end = range.start + range.length; - if (start > end) - @throw [OFInvalidArgumentException exceptionWithClass: isa - selector: _cmd]; - if (end > s->length) @throw [OFOutOfRangeException exceptionWithClass: isa]; s->hashed = NO; s->length -= end - start; @@ -511,14 +507,10 @@ { size_t start = range.start; size_t end = range.start + range.length; size_t newCStringLength, newLength; - if (start > end) - @throw [OFInvalidArgumentException exceptionWithClass: isa - selector: _cmd]; - if (end > s->length) @throw [OFOutOfRangeException exceptionWithClass: isa]; newLength = s->length - (end - start) + [replacement length]; Index: tests/OFStringTests.m ================================================================== --- tests/OFStringTests.m +++ tests/OFStringTests.m @@ -455,16 +455,18 @@ EXPECT_EXCEPTION(@"Detect OoR in -[deleteCharactersInRange:] #2", OFOutOfRangeException, [s[0] deleteCharactersInRange: of_range(4, 0)]) - EXPECT_EXCEPTION(@"Detect OoR in -[replaceCharactersInRange:withString:] #1", + EXPECT_EXCEPTION(@"Detect OoR in " + @"-[replaceCharactersInRange:withString:] #1", OFOutOfRangeException, [s[0] replaceCharactersInRange: of_range(2, 2) withString: @""]) - EXPECT_EXCEPTION(@"Detect OoR in -[replaceCharactersInRange:withString:] #2", + EXPECT_EXCEPTION(@"Detect OoR in " + @"-[replaceCharactersInRange:withString:] #2", OFOutOfRangeException, [s[0] replaceCharactersInRange: of_range(4, 0) withString: @""]) TEST(@"-[replaceOccurrencesOfString:withString:]",