[SCM] libav/experimental: Avoid divisions by 0 in the ASF demuxer if packet_size is not valid.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:48:30 UTC 2013


The following commit has been merged in the experimental branch:
commit 68a10b40bcba94199f45a975be98d2e12fdcdb75
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Fri Jul 3 11:18:07 2009 +0000

    Avoid divisions by 0 in the ASF demuxer if packet_size is not valid.
    
    Originally committed as revision 19330 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index c294ff5..4869e55 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -595,6 +595,9 @@ static int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb)
     int rsize = 8;
     int c, d, e, off;
 
+    // if we do not know packet size, allow skipping up to 32 kB
+    off= 32768;
+    if (s->packet_size > 0)
     off= (url_ftell(pb) - s->data_offset) % s->packet_size + 3;
 
     c=d=e=-1;
@@ -989,6 +992,7 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos,
         start_pos[i]= pos;
     }
 
+    if (s->packet_size > 0)
     pos= (pos+s->packet_size-1-s->data_offset)/s->packet_size*s->packet_size+ s->data_offset;
     *ppos= pos;
     url_fseek(s->pb, pos, SEEK_SET);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list