Fixes for Win32 build.
[openssl.git] / crypto / asn1 / i2d_s_pu.c
index 25b150794a576bb5be49033fcf8fc871b8569b7b..e6014b82a84c5080c1510f2cdd2b1980ef4c2545 100644 (file)
@@ -109,7 +109,7 @@ int i2d_DSAPublicKey(DSA *a, unsigned char **pp)
                ASN1_put_object(&p,1,tot,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL);
 
        bs.type=V_ASN1_INTEGER;
-       bs.data=(unsigned char *)Malloc(max+4);
+       bs.data=(unsigned char *)OPENSSL_malloc(max+4);
        if (bs.data == NULL)
                {
                ASN1err(ASN1_F_I2D_DSAPUBLICKEY,ERR_R_MALLOC_FAILURE);
@@ -121,8 +121,9 @@ int i2d_DSAPublicKey(DSA *a, unsigned char **pp)
                bs.length=BN_bn2bin(num[i],bs.data);
                i2d_ASN1_INTEGER(&bs,&p);
                }
-       Free((char *)bs.data);
+       OPENSSL_free(bs.data);
        *pp=p;
-       return(t);
+       if(all) return(t);
+       else return(tot);
        }
 #endif