Return error when trying to print invalid ASN1 integer
[openssl.git] / crypto / asn1 / tasn_prn.c
index 9f4c81e0050233d5808d1e1437ae54985fe5291f..930ef97a9e9554d8875df8f2f16b5d1ea8f2e89c 100644 (file)
@@ -393,6 +393,8 @@ static int asn1_print_integer(BIO *out, ASN1_INTEGER *str)
     char *s;
     int ret = 1;
     s = i2s_ASN1_INTEGER(NULL, str);
     char *s;
     int ret = 1;
     s = i2s_ASN1_INTEGER(NULL, str);
+    if (s == NULL)
+        return 0;
     if (BIO_puts(out, s) <= 0)
         ret = 0;
     OPENSSL_free(s);
     if (BIO_puts(out, s) <= 0)
         ret = 0;
     OPENSSL_free(s);