diff --git a/crypto/pubkey/rsa_pub.c b/crypto/pubkey/rsa_pub.c index f1d57e0..fa36e42 100644 --- a/crypto/pubkey/rsa_pub.c +++ b/crypto/pubkey/rsa_pub.c @@ -63,6 +63,12 @@ int32_t psRsaDecryptPubExt(psPool_t *pool, return PS_ARG_FAIL; } + if (*outlen < key->size) + { + psTraceCrypto("Error on bad outlen parameter to psRsaDecryptPub\n"); + return PS_ARG_FAIL; + } + ptLen = inlen; /* Raw, in-place RSA decryption. */