From 8a898a6fcc06d0739f5c9578c23d5dd0ef9e1c4f Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Wed, 14 Apr 2010 07:47:53 +0000 Subject: [PATCH] [co]cf128.c: fix "n=0" bug [from HEAD]. --- crypto/modes/cfb128.c | 8 ++++---- crypto/modes/ofb128.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crypto/modes/cfb128.c b/crypto/modes/cfb128.c index 98f4cf315c..e5938c6137 100644 --- a/crypto/modes/cfb128.c +++ b/crypto/modes/cfb128.c @@ -96,15 +96,15 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, #endif while (len>=16) { (*block)(ivec, ivec, key); - for (n=0; n<16; n+=sizeof(size_t)) { + for (; n<16; n+=sizeof(size_t)) { *(size_t*)(out+n) = *(size_t*)(ivec+n) ^= *(size_t*)(in+n); } len -= 16; out += 16; in += 16; + n = 0; } - n = 0; if (len) { (*block)(ivec, ivec, key); while (len--) { @@ -141,7 +141,7 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, #endif while (len>=16) { (*block)(ivec, ivec, key); - for (n=0; n<16; n+=sizeof(size_t)) { + for (; n<16; n+=sizeof(size_t)) { size_t t = *(size_t*)(in+n); *(size_t*)(out+n) = *(size_t*)(ivec+n) ^ t; *(size_t*)(ivec+n) = t; @@ -149,8 +149,8 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, len -= 16; out += 16; in += 16; + n = 0; } - n = 0; if (len) { (*block)(ivec, ivec, key); while (len--) { diff --git a/crypto/modes/ofb128.c b/crypto/modes/ofb128.c index 09b3430034..c732e2ec58 100644 --- a/crypto/modes/ofb128.c +++ b/crypto/modes/ofb128.c @@ -95,14 +95,14 @@ void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, #endif while (len>=16) { (*block)(ivec, ivec, key); - for (n=0; n<16; n+=sizeof(size_t)) + for (; n<16; n+=sizeof(size_t)) *(size_t*)(out+n) = *(size_t*)(in+n) ^ *(size_t*)(ivec+n); len -= 16; out += 16; in += 16; + n = 0; } - n = 0; if (len) { (*block)(ivec, ivec, key); while (len--) { -- 2.25.1