X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbn%2Fbn_recp.c;h=20a6da4efd9186a8dcc03e28d03c86a9c7199817;hp=80539c5e2c570d9ab19555864312e0201999ce39;hb=766d78c8f5a85205a44aaf6182ed337b981f824b;hpb=cae55bfc68bed0a2d562891f11a75bf2145eb81e diff --git a/crypto/bn/bn_recp.c b/crypto/bn/bn_recp.c index 80539c5e2c..20a6da4efd 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,m,&(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;