This fixes the number of 8-byte blocks processed.
---
 libavutil/xtea.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavutil/xtea.c b/libavutil/xtea.c
index 07a66e5..7c3a14c 100644
--- a/libavutil/xtea.c
+++ b/libavutil/xtea.c
@@ -72,7 +72,7 @@ void av_xtea_crypt(AVXTEA *ctx, uint8_t *dst, const uint8_t 
*src, int count,
     int i;
 
     if (decrypt) {
-        while (count > 0) {
+        while (count--) {
             xtea_crypt_ecb(ctx, dst, src, decrypt);
 
             if (iv) {
@@ -83,10 +83,9 @@ void av_xtea_crypt(AVXTEA *ctx, uint8_t *dst, const uint8_t 
*src, int count,
 
             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];
@@ -97,7 +96,6 @@ void av_xtea_crypt(AVXTEA *ctx, uint8_t *dst, const uint8_t 
*src, int count,
             }
             src   += 8;
             dst   += 8;
-            count -= 8;
         }
     }
 }
-- 
1.7.10.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to