]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/asfdec_f.c
avformat/asfdec_f: Add an additional check for the extradata size
[ffmpeg] / libavformat / asfdec_f.c
index 8e48e457d9aa90a2a80e0c2fb93c9358c3f4fff9..b584f60195c15b0367db399916f69bd756e8353d 100644 (file)
@@ -516,6 +516,8 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size)
         tag1                             = avio_rl32(pb);
         avio_skip(pb, 20);
         if (sizeX > 40) {
+            if (size < sizeX - 40)
+                return AVERROR_INVALIDDATA;
             st->codecpar->extradata_size = ffio_limit(pb, sizeX - 40);
             st->codecpar->extradata      = av_mallocz(st->codecpar->extradata_size +
                                                    AV_INPUT_BUFFER_PADDING_SIZE);