From: Kurt Roeckx Date: Thu, 20 Oct 2016 18:49:22 +0000 (+0200) Subject: Print the X509 version signed, and convert to unsigned for the hex version. X-Git-Tag: OpenSSL_1_1_0d~52 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=030c7cc63dd6abc9a718306bf3bd34037cbfd294;p=oweals%2Fopenssl.git Print the X509 version signed, and convert to unsigned for the hex version. Found by tis-interpreter Reviewed-by: Rich Salz GH: #1754 (cherry picked from commit 676befbeb76ca19c9e7b2febfabda16bd26e00a0) --- diff --git a/crypto/x509/t_x509.c b/crypto/x509/t_x509.c index feeff754c3..ce670460ee 100644 --- a/crypto/x509/t_x509.c +++ b/crypto/x509/t_x509.c @@ -71,8 +71,13 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, } if (!(cflag & X509_FLAG_NO_VERSION)) { l = X509_get_version(x); - if (BIO_printf(bp, "%8sVersion: %lu (0x%lx)\n", "", l + 1, l) <= 0) - goto err; + if (l >= 0 && l <= 2) { + if (BIO_printf(bp, "%8sVersion: %ld (0x%lx)\n", "", l + 1, (unsigned long)l) <= 0) + goto err; + } else { + if (BIO_printf(bp, "%8sVersion: Unknown (%ld)\n", "", l) <= 0) + goto err; + } } if (!(cflag & X509_FLAG_NO_SERIAL)) {