Module: libav Branch: master Commit: 87f023f2c01e7004618537114e2d53be69b01019
Author: Martin Storsjö <[email protected]> Committer: Martin Storsjö <[email protected]> Date: Tue Oct 2 00:04:38 2012 +0300 blowfish: Fix CBC decryption with dst==src Signed-off-by: Martin Storsjö <[email protected]> --- libavutil/blowfish.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c index 35c546a..604c0be 100644 --- a/libavutil/blowfish.c +++ b/libavutil/blowfish.c @@ -388,15 +388,15 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src, av_blowfish_crypt_ecb(ctx, &v0, &v1, decrypt); - AV_WB32(dst, v0); - AV_WB32(dst + 4, v1); - if (iv) { - for (i = 0; i < 8; i++) - dst[i] = dst[i] ^ iv[i]; + v0 ^= AV_RB32(iv); + v1 ^= AV_RB32(iv + 4); memcpy(iv, src, 8); } + AV_WB32(dst, v0); + AV_WB32(dst + 4, v1); + src += 8; dst += 8; } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
