Browse Source

Check for packet_length 0, it is already treated as invalid by the padding check,

but that resulted in a confusing/wrong error message.

Originally committed as revision 19361 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Reimar Döffinger 16 years ago
parent
commit
96f0731a26
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/asfdec.c

+ 1
- 1
libavformat/asfdec.c View File

@@ -633,7 +633,7 @@ static int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb)
DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length


//the following checks prevent overflows and infinite loops //the following checks prevent overflows and infinite loops
if(packet_length >= (1U<<29)){
if(!packet_length || packet_length >= (1U<<29)){
av_log(s, AV_LOG_ERROR, "invalid packet_length %d at:%"PRId64"\n", packet_length, url_ftell(pb)); av_log(s, AV_LOG_ERROR, "invalid packet_length %d at:%"PRId64"\n", packet_length, url_ftell(pb));
return -1; return -1;
} }


Loading…
Cancel
Save