-/* $OpenBSD: rsa_prn.c,v 1.7 2017/01/29 17:49:23 beck Exp $ */
+/* $OpenBSD: rsa_prn.c,v 1.8 2022/11/08 12:59:36 tobhe Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2006.
*/
RSA_print(BIO *bp, const RSA *x, int off)
{
EVP_PKEY *pk;
- int ret;
+ int ret = 0;
+
+ if ((pk = EVP_PKEY_new()) == NULL)
+ goto out;
+
+ if (!EVP_PKEY_set1_RSA(pk, (RSA *)x))
+ goto out;
- pk = EVP_PKEY_new();
- if (!pk || !EVP_PKEY_set1_RSA(pk, (RSA *)x))
- return 0;
ret = EVP_PKEY_print_private(bp, pk, off, NULL);
+ out:
EVP_PKEY_free(pk);
return ret;
}