summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/genrsa.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/genrsa.c b/apps/genrsa.c
index 1599bb7a69..a9f40e8adf 100644
--- a/apps/genrsa.c
+++ b/apps/genrsa.c
@@ -105,9 +105,9 @@ int MAIN(int argc, char **argv)
char *inrand=NULL;
BIO *out=NULL;
BIGNUM *bn = BN_new();
- RSA *rsa = RSA_new();
+ RSA *rsa = NULL;
- if(!bn || !rsa) goto err;
+ if(!bn) goto err;
apps_startup();
BN_GENCB_set(&cb, genrsa_cb, bio_err);
@@ -266,6 +266,10 @@ bad:
BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
num);
+ rsa = RSA_new();
+ if (!rsa)
+ goto err;
+
if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
goto err;