diff options
author | Jeff McGlynn <jwmcglynn@google.com> | 2018-08-16 16:53:26 -0700 |
---|---|---|
committer | Jeff McGlynn <jwmcglynn@google.com> | 2018-08-16 18:13:43 -0700 |
commit | 16661ba8c0103c2571e84a59a107c9e41dbe60dc (patch) | |
tree | 954429f1e6f9f558f62bcc541f7db8a9b1e38f45 /src/decoder/partition.cc | |
parent | 06beed61ea806970a8c6023daf20436c2e65f25d (diff) |
Fix ASAN failures in integer_sequence_codec and partition
Introduce UTILS_RELEASE_ASSERT, which crashes if the condition isn't
met, even on release builds.
Update integer_sequence_codec and partition to use the new tests to
validate input parameters, and update the tests so that they expect the
crash to occur even on release builds.
Bug: 112691516, 112669735
Change-Id: Ic82edeffc64ca0f2b0d17f1c63563dfd8d9cdd71
Diffstat (limited to 'src/decoder/partition.cc')
-rw-r--r-- | src/decoder/partition.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/decoder/partition.cc b/src/decoder/partition.cc index 90d39fd..43ff6f0 100644 --- a/src/decoder/partition.cc +++ b/src/decoder/partition.cc @@ -14,6 +14,7 @@ #include "src/decoder/partition.h" #include "src/base/bottom_n.h" +#include "src/base/utils.h" #include "src/decoder/footprint.h" #include <algorithm> @@ -399,12 +400,12 @@ constexpr int EncodeDims(int width, int height) { int PartitionMetric(const Partition& a, const Partition& b) { // Make sure that one partition is at least a subset of the other... - assert(a.footprint == b.footprint); + UTILS_RELEASE_ASSERT(a.footprint == b.footprint); // Make sure that the number of parts is within our limits. ASTC has a maximum // of four subsets per block according to the specification. - assert(a.num_parts <= kMaxNumSubsets); - assert(b.num_parts <= kMaxNumSubsets); + UTILS_RELEASE_ASSERT(a.num_parts <= kMaxNumSubsets); + UTILS_RELEASE_ASSERT(b.num_parts <= kMaxNumSubsets); const int w = a.footprint.Width(); const int h = b.footprint.Height(); |