asn1/t_x509.c: fix serial number print, harmonize with a_int.c.

PR: 2675
Submitted by: Annie Yousar
This commit is contained in:
Andy Polyakov 2012-01-11 21:12:22 +00:00
parent e255024bf7
commit 6e913f9901
2 changed files with 4 additions and 4 deletions

View file

@ -386,8 +386,8 @@ long ASN1_INTEGER_get(const ASN1_INTEGER *a)
if (a->length > (int)sizeof(long))
{
/* hmm... a bit ugly */
return(0xffffffffL);
/* hmm... a bit ugly, return all ones */
return -1;
}
if (a->data == NULL)
return 0;

View 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="-";