[FFmpeg-devel] Segfault calling av_interleaved_write_frame

Jonathan Noble jonnobleuk at gmail.com
Sat Jan 18 23:40:06 EET 2020


Hello,

I found I was getting sigsegv when calling av_interleaved_write_frame().

>From a18f4cb5b86392c5c161878daea8e4b1204881eb Mon Sep 17 00:00:00 2001
From: jon noble <jonnobleuk at gmail.com>
Date: Sat, 18 Jan 2020 21:33:11 +0000
Subject: [PATCH] libavformat/mux: prevent segfault in
 compute_muxer_pkt_fields()

---
 libavformat/mux.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libavformat/mux.c b/libavformat/mux.c
index 8ab5ea8c2b..ea79981fe8 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -598,9 +598,11 @@ static int compute_muxer_pkt_fields(AVFormatContext
*s, AVStream *st, AVPacket *
             av_log(s, AV_LOG_WARNING, "Encoder did not produce proper pts,
making some up.\n");
             warned = 1;
         }
-        pkt->dts =
-//        pkt->pts= st->cur_dts;
-            pkt->pts = st->internal->priv_pts->val;
+        if (st->internal->priv_pts == NULL) {
+          av_log(s, AV_LOG_WARNING, "Null private stream data.\n");
+          return AVERROR(EINVAL);
+        }
+        pkt->dts = pkt->pts = st->internal->priv_pts->val;
     }

     //calculate dts from pts
-- 
2.25.0

Kind regards

Jon


More information about the ffmpeg-devel mailing list