From 02ae52db87270715bb81ddb912a2e3968e973d1f Mon Sep 17 00:00:00 2001 From: James Almer Date: Sat, 24 Mar 2018 22:33:32 -0300 Subject: [PATCH] avformat/utils: use av_packet_make_refcounted to ensure packets are ref counted Simplifies code, while also fixing a potential leak of side data in pkt. Signed-off-by: James Almer --- libavformat/utils.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index f13c8208b1..39a36a5ac4 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -867,13 +867,9 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt) continue; } - if (!pkt->buf) { - AVPacket tmp = { 0 }; - err = av_packet_ref(&tmp, pkt); - if (err < 0) - return err; - *pkt = tmp; - } + err = av_packet_make_refcounted(pkt); + if (err < 0) + return err; if ((s->flags & AVFMT_FLAG_DISCARD_CORRUPT) && (pkt->flags & AV_PKT_FLAG_CORRUPT)) {