diff options
Diffstat (limited to 'crypto/modes')
-rw-r--r-- | crypto/modes/cfb128.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/crypto/modes/cfb128.c b/crypto/modes/cfb128.c index 4e6f5d35e1..b525aba29c 100644 --- a/crypto/modes/cfb128.c +++ b/crypto/modes/cfb128.c @@ -77,7 +77,8 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, if (enc) { #if !defined(OPENSSL_SMALL_FOOTPRINT) - if (16%sizeof(size_t) == 0) do { /* always true actually */ + if (16%sizeof(size_t) == 0) { /* always true actually */ + do { while (n && len) { *(out++) = ivec[n] ^= *(in++); --len; @@ -107,7 +108,8 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, } *num = n; return; - } while (0); + } while (0); + } /* the rest would be commonly eliminated by x86* compiler */ #endif while (l<len) { @@ -121,7 +123,8 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, *num = n; } else { #if !defined(OPENSSL_SMALL_FOOTPRINT) - if (16%sizeof(size_t) == 0) do { /* always true actually */ + if (16%sizeof(size_t) == 0) { /* always true actually */ + do { while (n && len) { unsigned char c; *(out++) = ivec[n] ^ (c = *(in++)); ivec[n] = c; @@ -154,7 +157,8 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, } *num = n; return; - } while (0); + } while (0); + } /* the rest would be commonly eliminated by x86* compiler */ #endif while (l<len) { |