Add length-equality test in String operator== checks.

Change-Id: I6ebc6ef85aac4539269f137c1f29f95b9828d4f9
This commit is contained in:
Brad Fitzpatrick 2010-10-20 13:24:58 -07:00 committed by Alex Ray
parent 935d1bba3b
commit 2881c85e38
2 changed files with 6 additions and 2 deletions

View File

@ -205,7 +205,9 @@ inline bool String16::operator<=(const String16& other) const
inline bool String16::operator==(const String16& other) const
{
return strzcmp16(mString, size(), other.mString, other.size()) == 0;
const size_t n1 = size();
const size_t n2 = other.size();
return n1 == n2 && strzcmp16(mString, n1, other.mString, n2) == 0;
}
inline bool String16::operator!=(const String16& other) const

View File

@ -418,7 +418,9 @@ inline bool String8::operator<=(const String8& other) const
inline bool String8::operator==(const String8& other) const
{
return strcmp(mString, other.mString) == 0;
return (SharedBuffer::sizeFromData(mString) ==
SharedBuffer::sizeFromData(other.mString)) &&
strcmp(mString, other.mString) == 0;
}
inline bool String8::operator!=(const String8& other) const