From: Dr. Stephen Henson Date: Fri, 19 Aug 2016 22:28:29 +0000 (+0100) Subject: Avoid overflow in MDC2_Update() X-Git-Tag: OpenSSL_1_0_2i~49 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1027ad4f34c30b8585592764b9a670ba36888269;p=oweals%2Fopenssl.git Avoid overflow in MDC2_Update() Thanks to Shi Lei for reporting this issue. CVE-2016-6303 Reviewed-by: Matt Caswell (cherry picked from commit 55d83bf7c10c7b205fffa23fa7c3977491e56c07) --- diff --git a/crypto/mdc2/mdc2dgst.c b/crypto/mdc2/mdc2dgst.c index 6615cf84d7..2dce493633 100644 --- a/crypto/mdc2/mdc2dgst.c +++ b/crypto/mdc2/mdc2dgst.c @@ -91,7 +91,7 @@ int MDC2_Update(MDC2_CTX *c, const unsigned char *in, size_t len) i = c->num; if (i != 0) { - if (i + len < MDC2_BLOCK) { + if (len < MDC2_BLOCK - i) { /* partial block */ memcpy(&(c->data[i]), in, len); c->num += (int)len;