Skip to content

Commit a9548b2

Browse files
committed
fix NO_MALLOC guard in an error case
1 parent 9442ec4 commit a9548b2

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

wolfcrypt/src/rsa.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1734,7 +1734,9 @@ static int RsaUnPad_PSS(byte *pkcsBlock, unsigned int pkcsBlockLen,
17341734

17351735
if ((ret = RsaMGF(mgf, pkcsBlock + maskLen, (word32)hLen, tmp, (word32)maskLen,
17361736
heap)) != 0) {
1737+
#if !defined(WOLFSSL_NO_MALLOC) || defined(WOLFSSL_STATIC_MEMORY)
17371738
XFREE(tmp, heap, DYNAMIC_TYPE_RSA_BUFFER);
1739+
#endif
17381740
return ret;
17391741
}
17401742

@@ -1748,7 +1750,9 @@ static int RsaUnPad_PSS(byte *pkcsBlock, unsigned int pkcsBlockLen,
17481750
}
17491751
}
17501752
if (tmp[i] != (pkcsBlock[i] ^ 0x01)) {
1753+
#if !defined(WOLFSSL_NO_MALLOC) || defined(WOLFSSL_STATIC_MEMORY)
17511754
XFREE(tmp, heap, DYNAMIC_TYPE_RSA_BUFFER);
1755+
#endif
17521756
WOLFSSL_MSG("RsaUnPad_PSS: Padding Error Match");
17531757
return PSS_SALTLEN_RECOVER_E;
17541758
}
@@ -1759,13 +1763,17 @@ static int RsaUnPad_PSS(byte *pkcsBlock, unsigned int pkcsBlockLen,
17591763
{
17601764
for (i = 0; i < maskLen - 1 - saltLen; i++) {
17611765
if (tmp[i] != pkcsBlock[i]) {
1766+
#if !defined(WOLFSSL_NO_MALLOC) || defined(WOLFSSL_STATIC_MEMORY)
17621767
XFREE(tmp, heap, DYNAMIC_TYPE_RSA_BUFFER);
1768+
#endif
17631769
WOLFSSL_MSG("RsaUnPad_PSS: Padding Error Match");
17641770
return PSS_SALTLEN_E;
17651771
}
17661772
}
17671773
if (tmp[i] != (pkcsBlock[i] ^ 0x01)) {
1774+
#if !defined(WOLFSSL_NO_MALLOC) || defined(WOLFSSL_STATIC_MEMORY)
17681775
XFREE(tmp, heap, DYNAMIC_TYPE_RSA_BUFFER);
1776+
#endif
17691777
WOLFSSL_MSG("RsaUnPad_PSS: Padding Error End");
17701778
return PSS_SALTLEN_E;
17711779
}

0 commit comments

Comments
 (0)