Browse Source

check to detect nonsense fragment size

Originally committed as revision 7653 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 19 years ago
parent
commit
13f7e4b966
1 changed files with 4 additions and 0 deletions
  1. +4
    -0
      libavformat/asf.c

+ 4
- 0
libavformat/asf.c View File

@@ -571,6 +571,10 @@ static int asf_read_frame_header(AVFormatContext *s){
} }
if (asf->packet_flags & 0x01) { if (asf->packet_flags & 0x01) {
DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0); // 0 is illegal DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0); // 0 is illegal
if(asf->packet_frag_size > asf->packet_size_left - rsize){
av_log(s, AV_LOG_ERROR, "packet_frag_size is invalid\n");
return -1;
}
//printf("Fragsize %d\n", asf->packet_frag_size); //printf("Fragsize %d\n", asf->packet_frag_size);
} else { } else {
asf->packet_frag_size = asf->packet_size_left - rsize; asf->packet_frag_size = asf->packet_size_left - rsize;


Loading…
Cancel
Save