]> git.sesse.net Git - ffmpeg/commitdiff
avformat/apetag: Avoid stack packet when reading attached picture
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 18 Mar 2021 16:02:39 +0000 (17:02 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sun, 21 Mar 2021 22:08:19 +0000 (23:08 +0100)
Read it directly into AVStream.attached_pic.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/apetag.c

index 454c6c688bd2b0c7fde6eead30cd7799d1705a0c..23ee6b516d7c2d9c5226e9d5b6ca99bf25938d58 100644 (file)
@@ -79,10 +79,9 @@ static int ape_tag_read_field(AVFormatContext *s)
         av_dict_set(&st->metadata, key, filename, 0);
 
         if ((id = ff_guess_image2_codec(filename)) != AV_CODEC_ID_NONE) {
-            AVPacket pkt;
             int ret;
 
-            ret = av_get_packet(s->pb, &pkt, size);
+            ret = av_get_packet(s->pb, &st->attached_pic, size);
             if (ret < 0) {
                 av_log(s, AV_LOG_ERROR, "Error reading cover art.\n");
                 return ret;
@@ -92,7 +91,6 @@ static int ape_tag_read_field(AVFormatContext *s)
             st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
             st->codecpar->codec_id   = id;
 
-            st->attached_pic              = pkt;
             st->attached_pic.stream_index = st->index;
             st->attached_pic.flags       |= AV_PKT_FLAG_KEY;
         } else {