[SCM] libav/experimental: Guard against invalid memory read

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:02:52 UTC 2013


The following commit has been merged in the experimental branch:
commit 4ffa6e78c212877abda6856f3c609d00478049df
Author: Peter Ross <pross at xvid.org>
Date:   Thu Mar 4 13:26:01 2010 +0000

    Guard against invalid memory read
    
    Originally committed as revision 22207 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/bink.c b/libavformat/bink.c
index 035ee6c..efccabd 100644
--- a/libavformat/bink.c
+++ b/libavformat/bink.c
@@ -210,7 +210,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
         }
         bink->remain_packet_size -= 4 + audio_size;
         bink->current_track++;
-        if (audio_size > 0) {
+        if (audio_size >= 4) {
             /* get one audio packet per track */
             if ((ret = av_get_packet(pb, pkt, audio_size))
                                            != audio_size)
@@ -223,6 +223,8 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
             bink->audio_pts[bink->current_track -1] +=
                 AV_RL32(pkt->data) / (2 * s->streams[bink->current_track]->codec->channels);
             return 0;
+        } else {
+            url_fseek(pb, audio_size, SEEK_CUR);
         }
     }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list