Module: libav
Branch: release/0.7
Commit: 7e6625a9afbe247e5b5da1f1bc4071cb8ae83192

Author:    Reinhard Tartler <[email protected]>
Committer: Reinhard Tartler <[email protected]>
Date:      Tue May  7 07:24:16 2013 +0200

xxan: fix invalid memory access in xan_decode_frame_type0()

The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.

CC:[email protected]
(cherry picked from commit 8a49d2bcbe7573bb4b765728b2578fac0d19763f)

Signed-off-by: Reinhard Tartler <[email protected]>
(cherry picked from commit 62a657de168cf501acb23d48cc1aa00793dc83f3)

Signed-off-by: Reinhard Tartler <[email protected]>

Conflicts:
        libavcodec/xxan.c

---

 libavcodec/xxan.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/xxan.c b/libavcodec/xxan.c
index daaba63..12f7d3a 100644
--- a/libavcodec/xxan.c
+++ b/libavcodec/xxan.c
@@ -298,7 +298,7 @@ static int xan_decode_frame_type0(AVCodecContext *avctx, 
AVPacket *avpkt)
         corr_end = avpkt->size;
         if (chroma_off > corr_off)
             corr_end = chroma_off;
-        dec_size = xan_unpack(s->scratch_buffer, s->buffer_size,
+        dec_size = xan_unpack(s->scratch_buffer, s->buffer_size / 2,
                               avpkt->data + 8 + corr_off,
                               corr_end - corr_off);
         if (dec_size < 0)

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

Reply via email to