diff mbox

[FFmpeg-devel,6/6] avformat/utils: use av_packet_make_ref to ensure packets are ref counted

Message ID 20180325040339.7772-6-jamrial@gmail.com
State Accepted
Headers show

Commit Message

James Almer March 25, 2018, 4:03 a.m. UTC
Simplifies code, while also fixing a potential leak of side data in pkt.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/utils.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
diff mbox

Patch

diff --git a/libavformat/utils.c b/libavformat/utils.c
index f13c8208b1..fbf681e490 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_ref(pkt);
+        if (err < 0)
+            return err;
 
         if ((s->flags & AVFMT_FLAG_DISCARD_CORRUPT) &&
             (pkt->flags & AV_PKT_FLAG_CORRUPT)) {