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

Change-Id: I6ebc6ef85aac4539269f137c1f29f95b9828d4f9
diff --git a/include/utils/String16.h b/include/utils/String16.h
index 07a0c11..d98b2d0 100644
--- a/include/utils/String16.h
+++ b/include/utils/String16.h
@@ -205,7 +205,9 @@
 
 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 cef8eca..a129222 100644
--- a/include/utils/String8.h
+++ b/include/utils/String8.h
@@ -418,7 +418,9 @@
 
 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