summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2013-10-03 10:55:49 +0200
committerAndy Polyakov <appro@openssl.org>2013-10-03 10:57:45 +0200
commit4dfac659ff2ca311f860aab1b4878a5868fd83a0 (patch)
treee9c6efb6bcb76e29a0e86058443cd0052e9d2167
parent66e0f9db083b3a8fa28d2fa1a7e5d425263a84ab (diff)
downloadopenssl-new-4dfac659ff2ca311f860aab1b4878a5868fd83a0.tar.gz
evp/e_des3.c: fix typo with potential integer overflow on 32-bit platforms.
Submitted by: Yuriy Kaminskiy (cherry picked from commit 524b00c0da42b129ed8622dfb3f5eab9cc5d6617)
-rw-r--r--crypto/evp/e_des3.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c
index 157d0d515e..fa3b05cf14 100644
--- a/crypto/evp/e_des3.c
+++ b/crypto/evp/e_des3.c
@@ -119,7 +119,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,
@@ -158,7 +158,7 @@ static int des_ede_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
return 1;
}
- if (inl>=EVP_MAXCHUNK)
+ while (inl>=EVP_MAXCHUNK)
{
DES_ede3_cbc_encrypt(in, out, (long)EVP_MAXCHUNK,
&dat->ks1, &dat->ks2, &dat->ks3,
@@ -177,7 +177,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,