From e4a7fb3da33d98e3c5bbd4e58faf8b8945a07f9c Mon Sep 17 00:00:00 2001
From: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Date: Thu, 5 Jul 2012 11:33:54 +0200
Subject: [PATCH] blowfish: Make the count parameter match the documentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Previously it was interpreted as number of bytes, while the
documentation stated that it was the number of 8 byte blocks.
This makes it behave similarly to the existing AES code.

Signed-off-by: Martin Storsjö <martin@martin.st>
---
 libavutil/blowfish.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c
index 554953e865e..5df3dfcf1e7 100644
--- a/libavutil/blowfish.c
+++ b/libavutil/blowfish.c
@@ -382,7 +382,7 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src,
     int i;
 
     if (decrypt) {
-        while (count > 0) {
+        while (count--) {
             v0 = AV_RB32(src);
             v1 = AV_RB32(src + 4);
 
@@ -399,10 +399,9 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src,
 
             src   += 8;
             dst   += 8;
-            count -= 8;
         }
     } else {
-        while (count > 0) {
+        while (count--) {
             if (iv) {
                 for (i = 0; i < 8; i++)
                     dst[i] = src[i] ^ iv[i];
@@ -423,7 +422,6 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src,
 
             src   += 8;
             dst   += 8;
-            count -= 8;
         }
     }
 }
-- 
GitLab