From patchwork Sun Mar 28 09:37:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gyan Doshi X-Patchwork-Id: 26629 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 8611844BAB9 for ; Sun, 28 Mar 2021 12:37:56 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 56268687FE0; Sun, 28 Mar 2021 12:37:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA6A5687ED6 for ; Sun, 28 Mar 2021 12:37:49 +0300 (EEST) Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4F7VxS5x1qzQjnM for ; Sun, 28 Mar 2021 11:37:48 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter01.heinlein-hosting.de (spamfilter01.heinlein-hosting.de [80.241.56.115]) (amavisd-new, port 10030) with ESMTP id WaKq_zLCyEUY for ; Sun, 28 Mar 2021 11:37:45 +0200 (CEST) From: Gyan Doshi To: ffmpeg-devel@ffmpeg.org Date: Sun, 28 Mar 2021 15:07:30 +0530 Message-Id: <20210328093730.2754-1-ffmpeg@gyani.pro> MIME-Version: 1.0 X-MBO-SPAM-Probability: ***** X-Rspamd-Score: 7.24 / 15.00 / 15.00 X-Rspamd-Queue-Id: D42FC243 X-Rspamd-UID: 577faf Subject: [FFmpeg-devel] [PATCH] avformat/rtpenc_mpegts: stop leaks X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Fixes CID 1474460 & 1474461 --- libavformat/rtpenc_mpegts.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libavformat/rtpenc_mpegts.c b/libavformat/rtpenc_mpegts.c index f7ee5a4448..9f95b3a4e8 100644 --- a/libavformat/rtpenc_mpegts.c +++ b/libavformat/rtpenc_mpegts.c @@ -87,8 +87,11 @@ static int rtp_mpegts_write_header(AVFormatContext *s) av_dict_copy(&mpegts_muxer_options, chain->mpegts_muxer_options, 0); - if ((ret = avformat_write_header(mpegts_ctx, &mpegts_muxer_options)) < 0) + ret = avformat_write_header(mpegts_ctx, &mpegts_muxer_options); + av_dict_free(&mpegts_muxer_options); + if (ret < 0) goto fail; + for (i = 0; i < s->nb_streams; i++) s->streams[i]->time_base = mpegts_ctx->streams[i]->time_base; @@ -111,8 +114,11 @@ static int rtp_mpegts_write_header(AVFormatContext *s) st->codecpar->codec_id = AV_CODEC_ID_MPEG2TS; rtp_ctx->pb = s->pb; av_dict_copy(&rtp_muxer_options, chain->rtp_muxer_options, 0); - if ((ret = avformat_write_header(rtp_ctx, &rtp_muxer_options)) < 0) + ret = avformat_write_header(rtp_ctx, &rtp_muxer_options); + av_dict_free(&rtp_muxer_options); + if (ret < 0) goto fail; + chain->rtp_ctx = rtp_ctx; return 0; @@ -121,10 +127,8 @@ fail: if (mpegts_ctx) { ffio_free_dyn_buf(&mpegts_ctx->pb); av_dict_free(&mpegts_ctx->metadata); - av_dict_free(&mpegts_muxer_options); avformat_free_context(mpegts_ctx); } - av_dict_free(&rtp_muxer_options); avformat_free_context(rtp_ctx); rtp_mpegts_write_close(s); return ret;