diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c index f2dd489b99..9989b8073c 100644 --- a/libavformat/asfdec.c +++ b/libavformat/asfdec.c @@ -1591,6 +1591,8 @@ static int detect_unknown_subobject(AVFormatContext *s, int64_t offset, int64_t int ret; while (avio_tell(pb) <= offset + size) { + if (avio_tell(pb) == asf->offset) + break; asf->offset = avio_tell(pb); if ((ret = ff_get_guid(pb, &guid)) < 0) return ret;