x86-mont.pl: fix bug in integer-only squaring path.
[openssl.git] / crypto / bn / bn_mpi.c
index 84b0317081c0147f4c701ea7a8f71422374bf034..a054d21aed6b9a0cb04b384320ddd2fc6d6bfcbf 100644 (file)
@@ -60,9 +60,7 @@
 #include "cryptlib.h"
 #include "bn_lcl.h"
 
-int BN_bn2mpi(a,d)
-BIGNUM *a;
-unsigned char *d;
+int BN_bn2mpi(const BIGNUM *a, unsigned char *d)
        {
        int bits;
        int num=0;
@@ -90,10 +88,7 @@ unsigned char *d;
        return(num+4+ext);
        }
 
-BIGNUM *BN_mpi2bn(d,n,a)
-unsigned char *d;
-int n;
-BIGNUM *a;
+BIGNUM *BN_mpi2bn(const unsigned char *d, int n, BIGNUM *a)
        {
        long len;
        int neg=0;
@@ -129,6 +124,7 @@ BIGNUM *a;
                {
                BN_clear_bit(a,BN_num_bits(a)-1);
                }
+       bn_check_top(a);
        return(a);
        }