projects
/
oweals
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ba2efdc
)
Fix undefined behaviour when printing the X509 serial
author
Kurt Roeckx
<kurt@roeckx.be>
Sat, 14 Jan 2017 14:58:42 +0000
(15:58 +0100)
committer
Kurt Roeckx
<kurt@roeckx.be>
Sun, 15 Jan 2017 21:22:40 +0000
(22:22 +0100)
Found by afl
Reviewed-by: Andy Polyakov <appro@openssl.org>
GH: #2230
(cherry picked from commit
244d7b288f2b9ab7f6a2dbf068eccd6e20d9eef6
)
crypto/x509/t_x509.c
patch
|
blob
|
history
diff --git
a/crypto/x509/t_x509.c
b/crypto/x509/t_x509.c
index ce670460ee3b090d5ef1441da49513d81625df3f..5119c0e6f710ea6737bfb92f7737a128cf636f8a 100644
(file)
--- a/
crypto/x509/t_x509.c
+++ b/
crypto/x509/t_x509.c
@@
-93,12
+93,14
@@
int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags,
l = -1;
}
if (l != -1) {
+ unsigned long ul;
if (bs->type == V_ASN1_NEG_INTEGER) {
-
l = -
l;
+
ul = 0 - (unsigned long)
l;
neg = "-";
} else
+ ul = l;
neg = "";
- if (BIO_printf(bp, " %s%lu (%s0x%lx)\n", neg,
l, neg,
l) <= 0)
+ if (BIO_printf(bp, " %s%lu (%s0x%lx)\n", neg,
ul, neg, u
l) <= 0)
goto err;
} else {
neg = (bs->type == V_ASN1_NEG_INTEGER) ? " (Negative)" : "";