lavf/mov: Do not overread iTunes metadata.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 4 Apr 2015 15:35:06 +0000 (17:35 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 4 Apr 2015 15:35:06 +0000 (17:35 +0200)
Fixes ticket #4425.

libavformat/mov.c

index dc31e5a..c63e817 100644 (file)
@@ -342,7 +342,7 @@ retry:
     if (c->itunes_metadata && atom.size > 8) {
         int data_size = avio_rb32(pb);
         int tag = avio_rl32(pb);
-        if (tag == MKTAG('d','a','t','a')) {
+        if (tag == MKTAG('d','a','t','a') && data_size <= atom.size) {
             data_type = avio_rb32(pb); // type
             avio_rb32(pb); // unknown
             str_size = data_size - 16;