diff options
author | 2010-10-20 13:24:58 -0700 | |
---|---|---|
committer | 2010-10-20 15:03:49 -0700 | |
commit | e28210d401ae4ed1258b84c9b17a172a757190e8 (patch) | |
tree | 33fbac2552b71234b6872bd067e256555d4acae7 | |
parent | 4f5f7c968339a83b6af98ac8893a1ac33c7aa7bc (diff) |
Add length-equality test in String operator== checks.
Change-Id: I6ebc6ef85aac4539269f137c1f29f95b9828d4f9
-rw-r--r-- | include/utils/String16.h | 4 | ||||
-rw-r--r-- | include/utils/String8.h | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/include/utils/String16.h b/include/utils/String16.h index 07a0c1188ec9..d98b2d04ddc1 100644 --- a/include/utils/String16.h +++ b/include/utils/String16.h @@ -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 diff --git a/include/utils/String8.h b/include/utils/String8.h index cef8ecab96b9..a1292227eda7 100644 --- a/include/utils/String8.h +++ b/include/utils/String8.h @@ -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 |