提交 0bd433a9 编写于 作者: U Uoti Urpala 提交者: Ronald S. Bultje

asfdec: fix assert failure on invalid files

Add an extra size validity check in asf_read_frame_header(). Without
this asf->packet_size_left may become negative, which triggers an
assertion failure later.
Signed-off-by: NRonald S. Bultje <rsbultje@gmail.com>
上级 0699dbb8
...@@ -864,6 +864,10 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb){ ...@@ -864,6 +864,10 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb){
} }
//printf("Fragsize %d\n", asf->packet_frag_size); //printf("Fragsize %d\n", asf->packet_frag_size);
} else { } else {
if (rsize > asf->packet_size_left) {
av_log(s, AV_LOG_ERROR, "packet_replic_size is invalid\n");
return -1;
}
asf->packet_frag_size = asf->packet_size_left - rsize; asf->packet_frag_size = asf->packet_size_left - rsize;
//printf("Using rest %d %d %d\n", asf->packet_frag_size, asf->packet_size_left, rsize); //printf("Using rest %d %d %d\n", asf->packet_frag_size, asf->packet_size_left, rsize);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册