From: Andy Polyakov Date: Wed, 14 Apr 2010 07:47:28 +0000 (+0000) Subject: [co]fb128.c: fix "n=0" bug. X-Git-Tag: OpenSSL-fips-2_0-rc1~1129 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6a1823b371129848fa402d19a2cae6a1adf1d874;p=oweals%2Fopenssl.git [co]fb128.c: fix "n=0" bug. --- 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--) {