Browse Source

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

r19330 by reimar


Originally committed as revision 22080 to svn://svn.ffmpeg.org/ffmpeg/branches/0.5
tags/v0.5.1
Reinhard Tartler 16 years ago
parent
commit
a317cd5722
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      libavformat/asfdec.c

+ 5
- 2
libavformat/asfdec.c View File

@@ -555,7 +555,9 @@ int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb)
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(AVFormatContext *s, int stream_index, int64_t *ppos,
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);



Loading…
Cancel
Save