rsa: fix coverity 1472658: resource leak
authorPauli <ppzgs1@gmail.com>
Thu, 18 Mar 2021 02:59:40 +0000 (12:59 +1000)
committerPauli <ppzgs1@gmail.com>
Sat, 20 Mar 2021 00:08:00 +0000 (10:08 +1000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14596)

providers/implementations/asymciphers/rsa_enc.c

index 34ce13dd305908be489b37c187e98203254ed689..621239d79e32e469a032db85d6ad8ad9060e78b9 100644 (file)
@@ -250,6 +250,7 @@ static int rsa_decrypt(void *vprsactx, unsigned char *out, size_t *outlen,
             if (prsactx->oaep_md == NULL) {
                 prsactx->oaep_md = EVP_MD_fetch(prsactx->libctx, "SHA-1", NULL);
                 if (prsactx->oaep_md == NULL) {
+                    OPENSSL_free(tbuf);
                     ERR_raise(ERR_LIB_PROV, ERR_R_INTERNAL_ERROR);
                     return 0;
                 }
@@ -264,6 +265,7 @@ static int rsa_decrypt(void *vprsactx, unsigned char *out, size_t *outlen,
             /* RSA_PKCS1_WITH_TLS_PADDING */
             if (prsactx->client_version <= 0) {
                 ERR_raise(ERR_LIB_PROV, PROV_R_BAD_TLS_CLIENT_VERSION);
+                OPENSSL_free(tbuf);
                 return 0;
             }
             ret = ossl_rsa_padding_check_PKCS1_type_2_TLS(