From: Andy Polyakov Date: Thu, 3 Oct 2013 08:55:49 +0000 (+0200) Subject: evp/e_des3.c: fix typo with potential integer overflow on 32-bit platforms. X-Git-Tag: OpenSSL_1_0_1f~41 X-Git-Url: http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=eb22b7ec7515b42a5865af7b2a1da232ce100e97 evp/e_des3.c: fix typo with potential integer overflow on 32-bit platforms. Submitted by: Yuriy Kaminskiy (cherry picked from commit 524b00c0da42b129ed8622dfb3f5eab9cc5d6617) Resolved conflicts: crypto/evp/e_des3.c --- diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c index 1e69972..8d7b7de 100644 --- a/crypto/evp/e_des3.c +++ b/crypto/evp/e_des3.c @@ -101,7 +101,7 @@ static int des_ede_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, static int des_ede_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl) { - if (inl>=EVP_MAXCHUNK) + while (inl>=EVP_MAXCHUNK) { DES_ede3_ofb64_encrypt(in, out, (long)EVP_MAXCHUNK, &data(ctx)->ks1, &data(ctx)->ks2, &data(ctx)->ks3, @@ -132,7 +132,7 @@ static int des_ede_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, printf("\n"); } #endif /* KSSL_DEBUG */ - if (inl>=EVP_MAXCHUNK) + while (inl>=EVP_MAXCHUNK) { DES_ede3_cbc_encrypt(in, out, (long)EVP_MAXCHUNK, &data(ctx)->ks1, &data(ctx)->ks2, &data(ctx)->ks3, @@ -151,7 +151,7 @@ static int des_ede_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, static int des_ede_cfb64_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl) { - if (inl>=EVP_MAXCHUNK) + while (inl>=EVP_MAXCHUNK) { DES_ede3_cfb64_encrypt(in, out, (long)EVP_MAXCHUNK, &data(ctx)->ks1, &data(ctx)->ks2, &data(ctx)->ks3,