diff -up openssl-1.0.1e/crypto/evp/evp_enc.c.enc-overflow openssl-1.0.1e/crypto/evp/evp_enc.c --- openssl-1.0.1e/crypto/evp/evp_enc.c.enc-overflow 2016-04-29 12:42:43.000000000 +0200 +++ openssl-1.0.1e/crypto/evp/evp_enc.c 2016-04-29 12:56:50.253736555 +0200 @@ -408,7 +408,7 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ct OPENSSL_assert(bl <= (int)sizeof(ctx->buf)); if (i != 0) { - if (i+inl < bl) + if (bl - i > inl) { memcpy(&(ctx->buf[i]),in,inl); ctx->buf_len+=inl;