From ea3959f2f6468e5883974c8ed91bdbbdd4128c34 Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Wed, 31 Aug 2022 22:56:08 -0500 Subject: [PATCH] analyzer coddling: in api.c test_wolfSSL_dtls12_fragments_spammer(), inhibit clang-analyzer-deadcode.DeadStores; in asn.c ParseCRL_Extensions() old (!WOLFSSL_ASN_TEMPLATE) version, fix bounds check to prevent overshift; in misc.c ctMaskCopy(), use `*(x + i)`, not x[i], to tiptoe around cppcheck-2.9 objectIndex bug. --- tests/api.c | 1 + wolfcrypt/src/asn.c | 3 ++- wolfcrypt/src/misc.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/api.c b/tests/api.c index 999122067..88b033206 100644 --- a/tests/api.c +++ b/tests/api.c @@ -55082,6 +55082,7 @@ static void test_wolfSSL_dtls12_fragments_spammer(WOLFSSL* ssl) /* frag length */ c32to24(30, b + idx); idx += 3; + (void)idx; /* inhibit clang-analyzer-deadcode.DeadStores */ for (i = 0; i < DTLS_POOL_SZ * 2 && ret > 0; seq_number++, msg_number++, i++) { diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index d34bf0603..05a43a100 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -35042,7 +35042,8 @@ static int ParseCRL_Extensions(DecodedCRL* dcrl, const byte* buf, if (ret == 0) { dcrl->crlNumber = 0; for (i = 0; i < (*m).used; ++i) { - if (i > (int)sizeof(word32)) { + if (i > (CHAR_BIT * + (int)sizeof(word32) / DIGIT_BIT)) { break; } dcrl->crlNumber |= ((word32)(*m).dp[i]) << diff --git a/wolfcrypt/src/misc.c b/wolfcrypt/src/misc.c index 57803ef71..598545697 100644 --- a/wolfcrypt/src/misc.c +++ b/wolfcrypt/src/misc.c @@ -552,7 +552,7 @@ WC_STATIC WC_INLINE void ctMaskCopy(byte mask, byte* dst, byte* src, { int i; for (i = 0; i < size; ++i) { - dst[i] ^= (dst[i] ^ src[i]) & mask; + *(dst + i) ^= (*(dst + i) ^ *(src + i)) & mask; } }