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.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=5bea15ebb359c91a1bb7569620ead14bb71cfb81;hp=24bf6f3c7fccd91b5a9d3ab722c712ef4b0530f9 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);