mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
93c7276e3adf8bbd67e62925abf4efdb24ebdb1b
operator< on hidl_vec<uint8_t> violates strict weak ordering in the case that one oparand is shorter that the other and the shorter is a prefix of the longer. if x and y are incomparable, i.e., neither x < y nor y < x and y and z are incomparable, i.e., neither y < z nor z < y, then x and z must be incomparable. As for the current implementation the first two statements are true but the third is not given the following example input: x:="aa", y:="a", z:="ab". This patch fixes the issue by defining a < b if a is a prefix of b. As this relation is used in a std::sort algorithm which demands strict weak ordering this bug leads to undefined behavior. Change-Id: I4961bb35e2fd4f5fcf561ec0c7c536f81830aab8
Description
No description provided
Languages
C++
56.3%
AIDL
41.2%
C
1.5%
Rust
0.4%
Java
0.4%
Other
0.1%