diff options
author | Zhao Zhili <quinkblack@foxmail.com> | 2022-04-26 16:05:16 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2022-05-08 23:46:52 +0800 |
commit | 6c1b685e20edc6ead607b935d1d79740b9857e25 (patch) | |
tree | 8adaa0fea35b30d4f8e6ef27394ff1d2f650cef6 /libavformat | |
parent | 4f698be741bd615aa2cde908cbef5e857a754f50 (diff) |
avformat/mov: fix use invalid box size/type due to eof
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mov.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index dc55ea7255..87760cab95 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -7689,10 +7689,12 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (atom.size < 0) atom.size = INT64_MAX; - while (total_size <= atom.size - 8 && !avio_feof(pb)) { + while (total_size <= atom.size - 8) { int (*parse)(MOVContext*, AVIOContext*, MOVAtom) = NULL; a.size = avio_rb32(pb); a.type = avio_rl32(pb); + if (avio_feof(pb)) + break; if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || a.type == MKTAG('h','o','o','v')) && a.size >= 8 && |