Implement internally opaque bn access from ts
[openssl.git] / crypto / ts / ts_lib.c
index ca510267fc823c7e856a755714d50a9e717dc35e..c8f41f6fd017cebe341a88ac3d6bce702f5da728 100644 (file)
 
 int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num)
        {
-       BIGNUM num_bn;
+       BIGNUM *num_bn;
        int result = 0;
        char *hex;
 
-       BN_init(&num_bn);
-       ASN1_INTEGER_to_BN(num, &num_bn);
-       if ((hex = BN_bn2hex(&num_bn))) 
+       num_bn = BN_new();
+       if(!num_bn) return -1;
+       ASN1_INTEGER_to_BN(num, num_bn);
+       if ((hex = BN_bn2hex(num_bn)))
                {
                result = BIO_write(bio, "0x", 2) > 0;
                result = result && BIO_write(bio, hex, strlen(hex)) > 0;
                OPENSSL_free(hex);
                }
-       BN_free(&num_bn);
+       BN_free(num_bn);
 
        return result;
        }