From: Kurt Roeckx Date: Thu, 23 Jun 2016 07:37:51 +0000 (+0200) Subject: Avoid signed overflow X-Git-Tag: OpenSSL_1_1_0-pre6~349 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5bea15ebb359c91a1bb7569620ead14bb71cfb81;p=oweals%2Fopenssl.git Avoid signed overflow Found by afl Reviewed-by: Rich Salz MR: #3013 --- diff --git a/crypto/asn1/x_long.c b/crypto/asn1/x_long.c index 9d27ba4bc1..0af7875201 100644 --- a/crypto/asn1/x_long.c +++ b/crypto/asn1/x_long.c @@ -128,8 +128,8 @@ static int long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, } ltmp = (long)utmp; if (neg) { - ltmp++; ltmp = -ltmp; + ltmp--; } if (ltmp == it->size) { ASN1err(ASN1_F_LONG_C2I, ASN1_R_INTEGER_TOO_LARGE_FOR_LONG);