Merge "Fix strict weak ordering requirement of less than operation" am: e82263dd74 am: 36b364abfb
am: 22368369f7
Change-Id: I2301e7fec1c5c28516dafff483a8a0f2a2e00b0a
diff --git a/keymaster/4.0/support/keymaster_utils.cpp b/keymaster/4.0/support/keymaster_utils.cpp
index 729e1c1..e35fdd3 100644
--- a/keymaster/4.0/support/keymaster_utils.cpp
+++ b/keymaster/4.0/support/keymaster_utils.cpp
@@ -21,7 +21,9 @@
namespace hardware {
inline static bool operator<(const hidl_vec<uint8_t>& a, const hidl_vec<uint8_t>& b) {
- return memcmp(a.data(), b.data(), std::min(a.size(), b.size())) == -1;
+ auto result = memcmp(a.data(), b.data(), std::min(a.size(), b.size()));
+ if (!result) return a.size() < b.size();
+ return result < 0;
}
template <size_t SIZE>