forked from wolfSSL/wolfssl
Merge pull request #5222 from tmael/rsa_sanity
Add a sanity check in RsaPad_OAEP
This commit is contained in:
@@ -19192,7 +19192,7 @@ void FreeSigner(Signer* signer, void* heap)
|
|||||||
FreeDer(&signer->derCert);
|
FreeDer(&signer->derCert);
|
||||||
#endif
|
#endif
|
||||||
XFREE(signer, heap, DYNAMIC_TYPE_SIGNER);
|
XFREE(signer, heap, DYNAMIC_TYPE_SIGNER);
|
||||||
|
(void)signer;
|
||||||
(void)heap;
|
(void)heap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1167,6 +1167,10 @@ static int RsaPad_OAEP(const byte* input, word32 inputLen, byte* pkcsBlock,
|
|||||||
XFREE(seed, heap, DYNAMIC_TYPE_RSA_BUFFER);
|
XFREE(seed, heap, DYNAMIC_TYPE_RSA_BUFFER);
|
||||||
return MEMORY_E;
|
return MEMORY_E;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (pkcsBlockLen - hLen - 1 > sizeof(dbMask)) {
|
||||||
|
return MEMORY_E;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
XMEMSET(dbMask, 0, pkcsBlockLen - hLen - 1); /* help static analyzer */
|
XMEMSET(dbMask, 0, pkcsBlockLen - hLen - 1); /* help static analyzer */
|
||||||
ret = RsaMGF(mgf, seed, hLen, dbMask, pkcsBlockLen - hLen - 1, heap);
|
ret = RsaMGF(mgf, seed, hLen, dbMask, pkcsBlockLen - hLen - 1, heap);
|
||||||
@@ -3117,7 +3121,7 @@ static int RsaPublicEncryptEx(const byte* in, word32 inLen, byte* out,
|
|||||||
return RSA_BUFFER_E;
|
return RSA_BUFFER_E;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sz < RSA_MIN_PAD_SZ) {
|
if (sz < RSA_MIN_PAD_SZ || sz > (int)RSA_MAX_SIZE/8) {
|
||||||
return WC_KEY_SIZE_E;
|
return WC_KEY_SIZE_E;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user