set correct bn->top value
[openssl.git] / crypto / bn / bn_mont.c
index 6bcc9ad2e762f11f51cb0b135f00263c4c3da12f..82af91f90d7f5ca0660c7761a4caafa20a39b640 100644 (file)
@@ -292,7 +292,7 @@ int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
                buf[0]=mod->d[0]; /* tmod = N mod word size */
                buf[1]=0;
                tmod.d=buf;
-               tmod.top=1;
+               tmod.top = buf[0] != 0 ? 1 : 0;
                tmod.dmax=2;
                tmod.neg=0;
                                                        /* Ri = R^-1 mod N*/