diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c index effaaf41b0..6c82632ba0 100644 --- a/libavformat/id3v2.c +++ b/libavformat/id3v2.c @@ -544,7 +544,8 @@ static void read_chapter(AVFormatContext *s, AVIOContext *pb, int len, char *tta len -= 16; while (len > 10) { - avio_read(pb, tag, 4); + if (avio_read(pb, tag, 4) < 4) + goto end; tag[4] = 0; taglen = avio_rb32(pb); avio_skip(pb, 2);