RT3246: req command prints version number wrong
[openssl.git] / crypto / asn1 / t_req.c
index ea1794e3e082b835120eee3172892573208554eb..45348a738191da2e2e1fe1699fac5fe8a1825eb8 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))