From f97ca1c1cae860a6c5fcae04dafa41e703d4518a Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Mon, 7 Jun 2021 19:44:05 +0700 Subject: [PATCH] adjust test case and add useful comments --- tests/api.c | 1 + wolfcrypt/src/asn.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/tests/api.c b/tests/api.c index 4838780a4..430bc1c35 100644 --- a/tests/api.c +++ b/tests/api.c @@ -21045,6 +21045,7 @@ static int test_wc_ecc_signVerify_hash (void) /* Init stack var */ XMEMSET(sig, 0, siglen); XMEMSET(&key, 0, sizeof(key)); + XMEMSET(adjustedSig, 0, ECC_BUFSIZE+1); /* Init structs. */ ret = wc_InitRng(&rng); diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index f52bbeb8d..dad5d5c6b 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -15965,6 +15965,8 @@ int DecodeECC_DSA_Sig_Bin(const byte* sig, word32 sigLen, byte* r, word32* rLen, XMEMCPY(s, (byte*)sig + idx, len); #ifndef NO_STRICT_ECDSA_LEN + /* sanity check that the index has been advanced all the way to the end of + * the buffer */ if (idx + len != sigLen) { ret = ASN_ECC_KEY_E; } @@ -16006,6 +16008,8 @@ int DecodeECC_DSA_Sig(const byte* sig, word32 sigLen, mp_int* r, mp_int* s) } #ifndef NO_STRICT_ECDSA_LEN + /* sanity check that the index has been advanced all the way to the end of + * the buffer */ if (idx != sigLen) { mp_clear(r); mp_clear(s);