]> git.proxmox.com Git - efi-boot-shim.git/blobdiff - Cryptlib/OpenSSL/crypto/bn/bn_mont.c
Import upstream version 0.9+1474479173.6c180c6
[efi-boot-shim.git] / Cryptlib / OpenSSL / crypto / bn / bn_mont.c
index aadd5db1d8dbde3b71884403b8cb5ac3165a9419..be95bd55d02064793ee505f171f42d0431294049 100644 (file)
@@ -361,9 +361,9 @@ void BN_MONT_CTX_free(BN_MONT_CTX *mont)
     if (mont == NULL)
         return;
 
-    BN_free(&(mont->RR));
-    BN_free(&(mont->N));
-    BN_free(&(mont->Ni));
+    BN_clear_free(&(mont->RR));
+    BN_clear_free(&(mont->N));
+    BN_clear_free(&(mont->Ni));
     if (mont->flags & BN_FLG_MALLOCED)
         OPENSSL_free(mont);
 }
@@ -373,6 +373,9 @@ int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
     int ret = 0;
     BIGNUM *Ri, *R;
 
+    if (BN_is_zero(mod))
+        return 0;
+
     BN_CTX_start(ctx);
     if ((Ri = BN_CTX_get(ctx)) == NULL)
         goto err;