summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2019-04-15 17:46:02 +0000
committerjsing <>2019-04-15 17:46:02 +0000
commit2fb601b85087d65dbda690e58164efc417c3399a (patch)
tree4cd5c99b1d3b8f2d2ad686e4faf8389e9933b159 /src
parent0da78a02ddaa683f68a377229a0edbcda97af8eb (diff)
downloadopenbsd-2fb601b85087d65dbda690e58164efc417c3399a.tar.gz
openbsd-2fb601b85087d65dbda690e58164efc417c3399a.tar.bz2
openbsd-2fb601b85087d65dbda690e58164efc417c3399a.zip
Avoid signed integer overflow.
Fixes oss-fuzz issue #13843. ok tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/asn1/x_long.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libcrypto/asn1/x_long.c b/src/lib/libcrypto/asn1/x_long.c
index 61685c31a3..8b11f14217 100644
--- a/src/lib/libcrypto/asn1/x_long.c
+++ b/src/lib/libcrypto/asn1/x_long.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_long.c,v 1.14 2019/04/01 15:48:50 jsing Exp $ */ 1/* $OpenBSD: x_long.c,v 1.15 2019/04/15 17:46:02 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -195,8 +195,8 @@ long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
195 } 195 }
196 ltmp = (long)utmp; 196 ltmp = (long)utmp;
197 if (neg) { 197 if (neg) {
198 ltmp++;
199 ltmp = -ltmp; 198 ltmp = -ltmp;
199 ltmp--;
200 } 200 }
201 if (ltmp == it->size) { 201 if (ltmp == it->size) {
202 ASN1error(ASN1_R_INTEGER_TOO_LARGE_FOR_LONG); 202 ASN1error(ASN1_R_INTEGER_TOO_LARGE_FOR_LONG);