* conservative about that sort of thing.
*/
-again:
if ((rp->p = strongprime("p", MP_NEWSEC, nbits/2, r, n, event, ectx)) == 0)
goto fail_p;
mp_div(&t, &u, t, rp->p);
if (!MP_ZEROP(u)) t = mp_add(t, t, MP_ONE);
if (MP_CMP(q, <, t)) q = mp_leastcongruent(q, t, q, g.jp.m);
+ mp_drop(t);
g.r = mp_lsr(MP_NEW, rp->p, 1);
g.g = MP_NEW;
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;
}
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)) {