summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-18 17:02:39 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-21 23:08:19 +0100
commitab5803553b3932da3227647ae27f2e2795cc5752 (patch)
treea69eb6c649c9fc9097611e7998b4f8c936e62a5e /libavformat
parent34f4f5780037b2e26a42fa83cd25d79b1d6c138a (diff)
avformat/apetag: Avoid stack packet when reading attached picture
Read it directly into AVStream.attached_pic. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/apetag.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/libavformat/apetag.c b/libavformat/apetag.c
index 454c6c688b..23ee6b516d 100644
--- a/libavformat/apetag.c
+++ b/libavformat/apetag.c
@@ -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 {