X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb/blobdiff_plain/1f86efe6525b55705d991cee2ea5c8032b2cfaad..285bf989997b8dc94a0783e260fe73787c7ae767:/pub/rsa-gen.c diff --git a/pub/rsa-gen.c b/pub/rsa-gen.c index c9a2da60..c12be18a 100644 --- a/pub/rsa-gen.c +++ b/pub/rsa-gen.c @@ -73,7 +73,6 @@ int rsa_gen(rsa_priv *rp, unsigned nbits, grand *r, unsigned n, * conservative about that sort of thing. */ -again: if ((rp->p = strongprime("p", MP_NEWSEC, nbits/2, r, n, event, ectx)) == 0) goto fail_p; @@ -106,10 +105,7 @@ again: mp_drop(g.r); if (!q) { mp_drop(g.g); - if (n) - goto fail_q; - mp_drop(rp->p); - goto again; + goto fail_q; } rp->q = q; } @@ -125,10 +121,7 @@ again: MP_LEN(phi) * 4 < MP_LEN(rp->q) * 3) { mp_drop(rp->p); mp_drop(g.g); - if (n) - goto fail_q; - mp_drop(rp->q); - goto again; + goto fail_q; } if (MP_NEGP(phi)) {