From: Alexandra Hájková <[email protected]>
---
Rebased patch.
libavformat/asfdec.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 17ea89f..4a31be5 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -1737,7 +1737,15 @@ static int asf_read_header(AVFormatContext *s)
goto failed;
} else {
size = avio_rl64(pb);
- align_position(pb, asf->offset, size);
+ if (size < INT64_MAX)
+ align_position(pb, asf->offset, size);
+ else {
+ if (asf->data_reached) {
+ avio_seek(pb, asf->first_packet_offset, SEEK_SET);
+ break;
+ } else
+ return AVERROR_INVALIDDATA;
+ }
}
if (asf->data_reached && (!pb->seekable || (asf->b_flags &
ASF_FLAG_BROADCAST)))
break;
--
2.1.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel