[SCM] libav/experimental: do not read over the end of the packet fixes issue 2543

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:21:58 UTC 2013


The following commit has been merged in the experimental branch:
commit f73467192558cadff476c98c73767ec04e7212c3
Author: Sascha Sommer <saschasommer at freenet.de>
Date:   Sat Jan 15 16:39:52 2011 +0000

    do not read over the end of the packet
    fixes issue 2543
    
    Originally committed as revision 26367 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 9fc2aba..cf7fc44 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -1506,6 +1506,12 @@ static int decode_packet(AVCodecContext *avctx,
         s->packet_sequence_number = packet_sequence_number;
 
         if (num_bits_prev_frame > 0) {
+            int remaining_packet_bits = s->buf_bit_size - get_bits_count(gb);
+            if (num_bits_prev_frame >= remaining_packet_bits) {
+                num_bits_prev_frame = remaining_packet_bits;
+                s->packet_done = 1;
+            }
+
             /** append the previous frame data to the remaining data from the
                 previous packet to create a full frame */
             save_bits(s, gb, num_bits_prev_frame, 1);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list