avformat/vividas: fix misaligned access
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 18 May 2026 18:18:47 +0000 (20:18 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 12 Jun 2026 22:16:28 +0000 (00:16 +0200)
Fixes: ffmpeg_xor_block_libavformat_vividas.c_134_15.poc

Found-by: iceray-Li
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 84a48165f0af2278e2e9e77926fc7ecc57dedc10)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/vividas.c

index 4a2a5e195818714e8fce3855743d3879b9fefb52..2c4788d4c0d269cff5649b842e834c96c1921abd 100644 (file)
@@ -129,7 +129,7 @@ static void xor_block(void *p1, void *p2, unsigned size, int key, unsigned *key_
     size >>= 2;
 
     while (size > 0) {
-        *d2 = *d1 ^ (HAVE_BIGENDIAN ? av_bswap32(k) : k);
+        AV_WN32(d2, AV_RN32(d1) ^ (HAVE_BIGENDIAN ? av_bswap32(k) : k));
         k += key;
         d1++;
         d2++;