From 91b8924969fc5a76eb4c80e1c138b87d4be6a7df Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Wed, 27 Oct 2021 12:42:55 -0400 Subject: [PATCH] Switch kModuleDigestSize to a macro. Although the compiler will hopefully optimize it out, this is technically a VLA. The new Android NDK now warns about this. Change-Id: Ib9f38dc73c40e90ab61105f29a635c453f1477a1 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/50185 Commit-Queue: David Benjamin Commit-Queue: Adam Langley Reviewed-by: Adam Langley --- crypto/fipsmodule/self_check/self_check.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/crypto/fipsmodule/self_check/self_check.c b/crypto/fipsmodule/self_check/self_check.c index 2a58cd359..94f2da759 100644 --- a/crypto/fipsmodule/self_check/self_check.c +++ b/crypto/fipsmodule/self_check/self_check.c @@ -290,27 +290,27 @@ err: } #if defined(OPENSSL_ANDROID) -static const size_t kModuleDigestSize = SHA256_DIGEST_LENGTH; +#define MODULE_DIGEST_SIZE SHA256_DIGEST_LENGTH #else -static const size_t kModuleDigestSize = SHA512_DIGEST_LENGTH; +#define MODULE_DIGEST_SIZE SHA512_DIGEST_LENGTH #endif int boringssl_fips_self_test( const uint8_t *module_hash, size_t module_hash_len) { #if defined(BORINGSSL_FIPS_SELF_TEST_FLAG_FILE) - char flag_path[sizeof(kFlagPrefix) + 2*kModuleDigestSize]; + char flag_path[sizeof(kFlagPrefix) + 2 * MODULE_DIGEST_SIZE]; if (module_hash_len != 0) { - if (module_hash_len != kModuleDigestSize) { + if (module_hash_len != MODULE_DIGEST_SIZE) { fprintf(stderr, - "module hash of length %zu does not match expected length %zu\n", - module_hash_len, kModuleDigestSize); + "module hash of length %zu does not match expected length %d\n", + module_hash_len, MODULE_DIGEST_SIZE); BORINGSSL_FIPS_abort(); } // Test whether the flag file exists. memcpy(flag_path, kFlagPrefix, sizeof(kFlagPrefix) - 1); static const char kHexTable[17] = "0123456789abcdef"; - for (size_t i = 0; i < kModuleDigestSize; i++) { + for (size_t i = 0; i < MODULE_DIGEST_SIZE; i++) { flag_path[sizeof(kFlagPrefix) - 1 + 2 * i] = kHexTable[module_hash[i] >> 4]; flag_path[sizeof(kFlagPrefix) - 1 + 2 * i + 1] =