asn1/t_x509.c: fix serial number print, harmonize with a_int.c.
[openssl.git] / crypto / asn1 / t_x509.c
index db88f3a3e15dddace268e53b6e7cef85ec72d1eb..4f5d28f1abccac6cabbdb8bf3612744a2d4f337a 100644 (file)
@@ -138,10 +138,10 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
                if (BIO_write(bp,"        Serial Number:",22) <= 0) goto err;
 
                bs=X509_get_serialNumber(x);
-               if (bs->length <= 4)
+               if (bs->length <= sizeof(long))
                        {
                        l=ASN1_INTEGER_get(bs);
-                       if (l < 0)
+                       if (bs->type == V_ASN1_NEG_INTEGER)
                                {
                                l= -l;
                                neg="-";