From c04949e97877c7e9e362ab3022b2e7d4988b3e37 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ulf=20M=C3=B6ller?= Date: Thu, 24 Feb 2000 23:37:15 +0000 Subject: [PATCH] work around a bug in BN_div_recp or BN_reciprocal --- crypto/bn/bn_recp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crypto/bn/bn_recp.c b/crypto/bn/bn_recp.c index 80539c5e2c..bc0787d75a 100644 --- a/crypto/bn/bn_recp.c +++ b/crypto/bn/bn_recp.c @@ -191,7 +191,16 @@ int BN_div_recp(BIGNUM *dv, BIGNUM *rem, BIGNUM *m, BN_RECP_CTX *recp, { if (j++ > 2) { +#if 1 + /* work around some bug: + -1CC0E177F93042B29D309839F8019DB93404D7A395F1E162 + 5383BF622A20B17E1BAA999336988B82B93F5FB77B55B4B68 + 9412000000000031 / 298EB5957DBFB8CBB2CC2A9F789D2B5 + fails, for example. */ + ret=BN_div(dv,rem,a,&(recp->N),ctx); +#else BNerr(BN_F_BN_MOD_MUL_RECIPROCAL,BN_R_BAD_RECIPROCAL); +#endif goto err; } if (!BN_usub(r,r,&(recp->N))) goto err; -- 2.40.0