]> 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 f60dd0629c763239ef2e49cf113a9977ec094b7f..3cbea7620c776c7b8954bdf05882615e1354f383 100644 (file)
@@ -767,7 +767,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
          */
@@ -828,7 +828,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
          */