From 767c282c1dd1ce15a1e04194121a1b29d3bc9485 Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Wed, 8 Feb 2023 16:35:03 -0500 Subject: [PATCH] Addressing PR comments --- wolfcrypt/src/asn.c | 9 +-------- wolfcrypt/src/rsa.c | 8 ++++++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 21d23d430..f5a32d2b0 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -15424,14 +15424,7 @@ static int ConfirmSignature(SignatureCtx* sigCtx, ERROR_OUT(MEMORY_E, exit_cs); } #endif - if((ret = mp_init(r)) != 0) { - WOLFSSL_MSG("Variable ('r') initialization error"); - WOLFSSL_ERROR_VERBOSE(ret); - goto exit_cs; - } - if((ret = mp_init(s)) != 0) { - WOLFSSL_MSG("Variable ('s') initialization error"); - WOLFSSL_ERROR_VERBOSE(ret); + if ((ret = mp_init_multi(r, s, NULL, NULL, NULL, NULL)) != MP_OKAY) { goto exit_cs; } diff --git a/wolfcrypt/src/rsa.c b/wolfcrypt/src/rsa.c index 5010cd33a..88204b395 100644 --- a/wolfcrypt/src/rsa.c +++ b/wolfcrypt/src/rsa.c @@ -4035,6 +4035,7 @@ int wc_RsaPSS_CheckPadding_ex2(const byte* in, word32 inSz, byte* sig, } } +#ifdef WOLFSSL_PSS_LONG_SALT /* if long salt is larger then default maximum buffer then allocate a buffer */ if (ret == 0 && sizeof(sigCheckBuf) < (RSA_PSS_PAD_SZ + inSz + saltLen)) { sigCheck = (byte*)XMALLOC(RSA_PSS_PAD_SZ + inSz + saltLen, heap, @@ -4043,6 +4044,11 @@ int wc_RsaPSS_CheckPadding_ex2(const byte* in, word32 inSz, byte* sig, ret = MEMORY_E; } } +#else + if (ret == 0 && sizeof(sigCheckBuf) < (RSA_PSS_PAD_SZ + inSz + saltLen)) { + ret = BUFFER_E; + } +#endif /* Exp Hash = HASH(8 * 0x00 | Message Hash | Salt) */ if (ret == 0) { @@ -4059,9 +4065,11 @@ int wc_RsaPSS_CheckPadding_ex2(const byte* in, word32 inSz, byte* sig, } } +#ifdef WOLFSSL_PSS_LONG_SALT if (sigCheck != NULL && sigCheck != sigCheckBuf) { XFREE(sigCheck, heap, DYNAMIC_TYPE_RSA_BUFFER); } +#endif (void)heap; /* unused if memory is disabled */ return ret;