Janis Danisevskis 93c7276e3a Fix strict weak ordering requirement of less than operation
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
2019-03-19 09:54:04 -07:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2019-03-04 11:27:17 -08:00
2016-08-30 11:28:36 -07:00
2016-08-30 11:28:36 -07:00
2019-02-12 11:25:14 -08:00
Description
No description provided
134 MiB
Languages
C++ 56.3%
AIDL 41.2%
C 1.5%
Rust 0.4%
Java 0.4%
Other 0.1%