]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_crypt.c
gost_crypt: process full available block in CFB and CNT mode
[openssl-gost/engine.git] / gost_crypt.c
index 988afd803159407075ac97c77bcc86fa3bd1fdbd..d70d79306756320cb57971e93ee7c13c82e2c671 100644 (file)
@@ -765,7 +765,7 @@ static int gost_cipher_do_cfb(EVP_CIPHER_CTX *ctx, unsigned char *out,
         }
     }
 
-    for (; i + 8 < inl; i += 8, in_ptr += 8, out_ptr += 8) {
+    for (; (inl - i) >= 8; i += 8, in_ptr += 8, out_ptr += 8) {
         /*
          * block cipher current iv
          */
@@ -826,7 +826,7 @@ static int gost_cipher_do_cnt(EVP_CIPHER_CTX *ctx, unsigned char *out,
         }
     }
 
-    for (; i + 8 < inl; i += 8, in_ptr += 8, out_ptr += 8) {
+    for (; (inl - i) >= 8; i += 8, in_ptr += 8, out_ptr += 8) {
         /*
          * block cipher current iv
          */