From 89866846d6b31cc98e1b4fa3fbbeacb62d8cb143 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Sat, 3 Jul 2021 03:41:40 +0700 Subject: [PATCH] check return of DSA decode --- wolfcrypt/src/port/caam/wolfcaam_ecdsa.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/wolfcrypt/src/port/caam/wolfcaam_ecdsa.c b/wolfcrypt/src/port/caam/wolfcaam_ecdsa.c index 0f5f2f967..d41df3527 100644 --- a/wolfcrypt/src/port/caam/wolfcaam_ecdsa.c +++ b/wolfcrypt/src/port/caam/wolfcaam_ecdsa.c @@ -292,14 +292,13 @@ int wc_CAAM_EccVerify(const byte* sig, word32 siglen, const byte* hash, int ret; mp_int r, s; + ret = DecodeECC_DSA_Sig(sig, siglen, &r, &s); + if (ret == 0) { + ret = wc_CAAM_EccVerify_ex(&r, &s, hash, hashlen, res, key); + mp_free(&r); + mp_free(&s); + } - mp_init(&r); - mp_init(&s); - DecodeECC_DSA_Sig(sig, siglen, &r, &s); - ret = wc_CAAM_EccVerify_ex(&r, &s, hash, hashlen, res, key); - - mp_free(&r); - mp_free(&s); return ret; }