Use the passed buffer in ERR_error_string!
[oweals/openssl.git] / crypto / asn1 / a_int.c
index 45927ffd6e6ec81f4b6323001046c1a20285f29e..6f0413f885c16e8297c3fd9a7a25e612bdff23ee 100644 (file)
@@ -77,6 +77,7 @@ int ASN1_INTEGER_cmp(ASN1_INTEGER *x, ASN1_INTEGER *y)
 int i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp)
 {
        int len, ret;
+       if(!a) return 0;
        len = i2c_ASN1_INTEGER(a, NULL);        
        ret=ASN1_object_size(0,len,V_ASN1_INTEGER);
        if(pp) {
@@ -464,7 +465,7 @@ BIGNUM *ASN1_INTEGER_to_BN(ASN1_INTEGER *ai, BIGNUM *bn)
 
        if ((ret=BN_bin2bn(ai->data,ai->length,bn)) == NULL)
                ASN1err(ASN1_F_ASN1_INTEGER_TO_BN,ASN1_R_BN_LIB);
-       if(ai->type == V_ASN1_NEG_INTEGER) bn->neg = 1;
+       else if(ai->type == V_ASN1_NEG_INTEGER) ret->neg = 1;
        return(ret);
        }