From a3c0ae16ac1a9f7a8fced4b196d138cefa9462a5 Mon Sep 17 00:00:00 2001 From: Chad Brubaker Date: Wed, 12 Aug 2015 12:46:44 -0700 Subject: [PATCH] Fix benign unsigned overflow On the last check of the conditional param_count-- causes an unsigned wrap around. This isn't incorrect but does lead to a false positive with fsanitize unsigned-integer-overflow Change-Id: If3eb7a9e248d0404a434de2ead70e8c099e84ddf --- include/hardware/keymaster_defs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hardware/keymaster_defs.h b/include/hardware/keymaster_defs.h index 5be956d..73d95d0 100644 --- a/include/hardware/keymaster_defs.h +++ b/include/hardware/keymaster_defs.h @@ -481,7 +481,8 @@ inline int keymaster_param_compare(const keymaster_key_param_t* a, const keymast #undef KEYMASTER_SIMPLE_COMPARE inline void keymaster_free_param_values(keymaster_key_param_t* param, size_t param_count) { - while (param_count-- > 0) { + while (param_count > 0) { + param_count--; switch (keymaster_tag_get_type(param->tag)) { case KM_BIGNUM: case KM_BYTES: -- 2.11.0