RT3246: req command prints version number wrong
authorRich Salz <rsalz@akamai.com>
Wed, 27 Aug 2014 02:31:11 +0000 (22:31 -0400)
committerRich Salz <rsalz@akamai.com>
Thu, 28 Aug 2014 23:17:05 +0000 (19:17 -0400)
Make X509_REQ_print_ex do the same thing that
X509_REQ_print does.

Reviewed-by: Matt Caswell <matt@openssl.org>
crypto/asn1/t_req.c

index ea1794e..45348a7 100644 (file)
@@ -90,7 +90,7 @@ int X509_REQ_print_fp(FILE *fp, X509_REQ *x)
 
 int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, unsigned long cflag)
        {
-       unsigned long l;
+       long l;
        int i;
        const char *neg;
        X509_REQ_INFO *ri;
@@ -117,12 +117,8 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, unsigned long
                }
        if(!(cflag & X509_FLAG_NO_VERSION))
                {
-               neg=(ri->version->type == V_ASN1_NEG_INTEGER)?"-":"";
-               l=0;
-               for (i=0; i<ri->version->length; i++)
-                       { l<<=8; l+=ri->version->data[i]; }
-               if(BIO_printf(bp,"%8sVersion: %s%lu (%s0x%lx)\n","",neg,l,neg,
-                             l) <= 0)
+               l = X509_REQ_get_version(x);
+               if(BIO_printf(bp,"%8sVersion: %ld (0x%lx)\n","",l+1, l) <= 0)
                    goto err;
                }
         if(!(cflag & X509_FLAG_NO_SUBJECT))