[FFmpeg-cvslog] trace_headers: Fix memory leaks on syntax read failures

Mark Thompson git at videolan.org
Wed Oct 17 00:15:01 EEST 2018


ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Fri Oct  5 00:09:45 2018 +0100| [f6912cc3e7569a94159565f553159f6c1b7e0d2c] | committer: Mark Thompson

trace_headers: Fix memory leaks on syntax read failures

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f6912cc3e7569a94159565f553159f6c1b7e0d2c
---

 libavcodec/trace_headers_bsf.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/libavcodec/trace_headers_bsf.c b/libavcodec/trace_headers_bsf.c
index 94a3ef72a2..8322229d4c 100644
--- a/libavcodec/trace_headers_bsf.c
+++ b/libavcodec/trace_headers_bsf.c
@@ -49,15 +49,11 @@ static int trace_headers_init(AVBSFContext *bsf)
         av_log(bsf, AV_LOG_INFO, "Extradata\n");
 
         err = ff_cbs_read_extradata(ctx->cbc, &ps, bsf->par_in);
-        if (err < 0) {
-            av_log(bsf, AV_LOG_ERROR, "Failed to read extradata.\n");
-            return err;
-        }
 
         ff_cbs_fragment_uninit(ctx->cbc, &ps);
     }
 
-    return 0;
+    return err;
 }
 
 static void trace_headers_close(AVBSFContext *bsf)
@@ -97,14 +93,12 @@ static int trace_headers(AVBSFContext *bsf, AVPacket *pkt)
     av_log(bsf, AV_LOG_INFO, "Packet: %d bytes%s.\n", pkt->size, tmp);
 
     err = ff_cbs_read_packet(ctx->cbc, &au, pkt);
-    if (err < 0) {
-        av_packet_unref(pkt);
-        return err;
-    }
 
     ff_cbs_fragment_uninit(ctx->cbc, &au);
 
-    return 0;
+    if (err < 0)
+        av_packet_unref(pkt);
+    return err;
 }
 
 const AVBitStreamFilter ff_trace_headers_bsf = {



More information about the ffmpeg-cvslog mailing list