Merge "String16::remove - avoid overflow"
This commit is contained in:
commit
fcd8ed55cb
2 changed files with 15 additions and 1 deletions
|
|
@ -441,7 +441,7 @@ status_t String16::remove(size_t len, size_t begin)
|
|||
mString = getEmptyString();
|
||||
return OK;
|
||||
}
|
||||
if ((begin+len) > N) len = N-begin;
|
||||
if (len > N || len > N - begin) len = N - begin;
|
||||
if (begin == 0 && len == N) {
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,6 +90,13 @@ TEST(String16Test, Insert) {
|
|||
EXPECT_STR16EQ(u"VerifyInsert me", tmp);
|
||||
}
|
||||
|
||||
TEST(String16Test, RemoveDefault) {
|
||||
String16 tmp("Verify me");
|
||||
tmp.remove(4);
|
||||
EXPECT_EQ(4U, tmp.size());
|
||||
EXPECT_STR16EQ(u"Veri", tmp);
|
||||
}
|
||||
|
||||
TEST(String16Test, Remove) {
|
||||
String16 tmp("Verify me");
|
||||
tmp.remove(2, 6);
|
||||
|
|
@ -97,6 +104,13 @@ TEST(String16Test, Remove) {
|
|||
EXPECT_STR16EQ(u" m", tmp);
|
||||
}
|
||||
|
||||
TEST(String16Test, RemoveOutOfBounds) {
|
||||
String16 tmp("Verify me");
|
||||
tmp.remove(100, 6);
|
||||
EXPECT_EQ(3U, tmp.size());
|
||||
EXPECT_STR16EQ(u" me", tmp);
|
||||
}
|
||||
|
||||
TEST(String16Test, MakeLower) {
|
||||
String16 tmp("Verify Me!");
|
||||
tmp.makeLower();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue