[FFmpeg-cvslog] avcodec/dxtory: use unaligned copy for unaligned addresses

Michael Niedermayer git at videolan.org
Thu Oct 30 19:43:44 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Oct 30 19:24:49 2014 +0100| [47f1596ecef3304f20be1be2dc6978989334608f] | committer: Michael Niedermayer

avcodec/dxtory: use unaligned copy for unaligned addresses

Fixes undefined behavior
Fixes: asan_heap-oob_112c6b3_13_012.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=47f1596ecef3304f20be1be2dc6978989334608f
---

 libavcodec/dxtory.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/dxtory.c b/libavcodec/dxtory.c
index ee5d731..4d8b7b2 100644
--- a/libavcodec/dxtory.c
+++ b/libavcodec/dxtory.c
@@ -82,10 +82,10 @@ static int dxtory_decode_v1_410(AVCodecContext *avctx, AVFrame *pic,
     V  = pic->data[2];
     for (h = 0; h < avctx->height; h += 4) {
         for (w = 0; w < avctx->width; w += 4) {
-            AV_COPY32(Y1 + w, src);
-            AV_COPY32(Y2 + w, src + 4);
-            AV_COPY32(Y3 + w, src + 8);
-            AV_COPY32(Y4 + w, src + 12);
+            AV_COPY32U(Y1 + w, src);
+            AV_COPY32U(Y2 + w, src + 4);
+            AV_COPY32U(Y3 + w, src + 8);
+            AV_COPY32U(Y4 + w, src + 12);
             U[w >> 2] = src[16] + 0x80;
             V[w >> 2] = src[17] + 0x80;
             src += 18;



More information about the ffmpeg-cvslog mailing list