summaryrefslogtreecommitdiffstats
path: root/crypto/x509/t_x509.c
diff options
context:
space:
mode:
authorKurt Roeckx <kurt@roeckx.be>2016-10-20 20:49:22 +0200
committerKurt Roeckx <kurt@roeckx.be>2017-01-10 22:27:37 +0100
commit676befbeb76ca19c9e7b2febfabda16bd26e00a0 (patch)
tree4590937436e3291f349c1f494094c5ce3bf83c55 /crypto/x509/t_x509.c
parentd95743047ef25fbbff9bf27aaa535ea56aa26665 (diff)
Print the X509 version signed, and convert to unsigned for the hex version.
Found by tis-interpreter Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #1754
Diffstat (limited to 'crypto/x509/t_x509.c')
-rw-r--r--crypto/x509/t_x509.c9
1 files changed, 7 insertions, 2 deletions
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)) {