chiark
/
gitweb
/
~mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
math/, pub/: Take a more consistent approach to prime-generation failures.
[catacomb]
/
pub
/
rsa-gen.c
diff --git
a/pub/rsa-gen.c
b/pub/rsa-gen.c
index c9a2da604a459e62560bbde0ff824b93a378f293..c12be18ae3a02d5282a01ccecf7adca217163c27 100644
(file)
--- 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.
*/
* conservative about that sort of thing.
*/
-again:
if ((rp->p = strongprime("p", MP_NEWSEC, nbits/2, r, n, event, ectx)) == 0)
goto fail_p;
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);
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;
}
}
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);
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)) {
}
if (MP_NEGP(phi)) {