[FFmpeg-cvslog] r22080 - in branches/0.5: . libavformat/asfdec.c

siretart subversion
Fri Feb 26 16:49:52 CET 2010


Author: siretart
Date: Fri Feb 26 16:49:52 2010
New Revision: 22080

Log:
Avoid divisions by 0 in the ASF demuxer if packet_size is not valid.

r19330 by reimar

Modified:
   branches/0.5/   (props changed)
   branches/0.5/libavformat/asfdec.c

Modified: branches/0.5/libavformat/asfdec.c
==============================================================================
--- branches/0.5/libavformat/asfdec.c	Fri Feb 26 16:26:11 2010	(r22079)
+++ branches/0.5/libavformat/asfdec.c	Fri Feb 26 16:49:52 2010	(r22080)
@@ -555,7 +555,9 @@ int ff_asf_get_packet(AVFormatContext *s
     int rsize = 8;
     int c, d, e, off;
 
-    off= (url_ftell(pb) - s->data_offset) % asf->packet_size + 3;
+    off= 32768;
+    if (s->packet_size > 0)
+        off= (url_ftell(pb) - s->data_offset) % asf->packet_size + 3;
 
     c=d=e=-1;
     while(off-- > 0){
@@ -941,7 +943,8 @@ static int64_t asf_read_pts(AVFormatCont
         start_pos[i]= pos;
     }
 
-    pos= (pos+asf->packet_size-1-s->data_offset)/asf->packet_size*asf->packet_size+ s->data_offset;
+    if (s->packet_size > 0)
+        pos= (pos+asf->packet_size-1-s->data_offset)/asf->packet_size*asf->packet_size+ s->data_offset;
     *ppos= pos;
     url_fseek(s->pb, pos, SEEK_SET);
 



More information about the ffmpeg-cvslog mailing list