From patchwork Sun Aug 23 09:50:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21829 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 AE08E44B698 for ; Sun, 23 Aug 2020 12:51:11 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9708B6880DE; Sun, 23 Aug 2020 12:51:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f65.google.com (mail-ej1-f65.google.com [209.85.218.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E968E68808D for ; Sun, 23 Aug 2020 12:51:04 +0300 (EEST) Received: by mail-ej1-f65.google.com with SMTP id si26so8196914ejb.12 for ; Sun, 23 Aug 2020 02:51:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mOVpbyk+v+fO1Yj42YNB2N9No75Dqgs0+wOomvmh0oQ=; b=lp0fS8/o4oIBK/1eoOoV3XO/HklaTpNWxcT5QIezUqshJr4Fx8OYBQmyim74EYwQDY KDvU5wJpcHq5KOI9a6EPGyAWkGB3iHItiUvfY9WgONXW3KnPvGxPwqyQzeHUpVdNwDpa imR0CngNOvDmnQJDXI7asN17vAyBT6efWgMDCtRez3DBe5K1rzI3IDx/k3pbqGYwLAzt bigvoUv83WNwtQrbEJCwAc49i10u7W3ehiTeaOakPsLonKDkJpYOfsmoroLc8db/VSaG G5q8ABp3V1R45DZpdgR4wwQ18UtbUj+H/MxQ/ZF59DBm0fEDopcdDPrY0uYAdh4918sQ nyCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mOVpbyk+v+fO1Yj42YNB2N9No75Dqgs0+wOomvmh0oQ=; b=GDUoigMKcg3gHCOGrGyl+kRmlKpQvrvi4JMDv5eCh1IEJgEu/gRAtM36xmJkQyZMsn eUgIcsXVNY5opOjAgGYxQrJD/Wvn13UzDy2Xx4qE6Vbp7prVXrO5eLt5DfFPd0Dog3PL sfcymozMgKYMVZf5KknKCG9F1DdBf8NBIZSxPyJbA91IqhNng8a+OzGGnYLsmX/ObkDt 4jQxAxrDVezoTgmM2qVyuU+FrGZXHAejvXzAoI2wzXvepLaHIFzjvdzjnScCmsNC5i3h 2WlKmVXPlAUTwdpZHQGsUhSnrrFwQXPFdJ1iF9L0Upm/buh2v4NmHyth7ye3FD5OJra1 5TYg== X-Gm-Message-State: AOAM530wL9RCfel+ijuTEvzaQipflGgSbaW8CBIL5xRIc4ifmi9eNfo5 boEQLiDozPOkJrxUViRwOa/AViB5np4= X-Google-Smtp-Source: ABdhPJxMIg84u7ErjREqIWPzXHDaTz8eLZtnNrCmsjzdxnT1ukfibt+Fx3nZzTaeDgV8EEttMOmkKg== X-Received: by 2002:a17:906:2e0c:: with SMTP id n12mr811695eji.35.1598176264110; Sun, 23 Aug 2020 02:51:04 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id v10sm5256022eda.87.2020.08.23.02.51.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Aug 2020 02:51:03 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 23 Aug 2020 11:50:37 +0200 Message-Id: <20200823095039.18851-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200822230434.11347-1-andreas.rheinhardt@gmail.com> References: <20200822230434.11347-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/7] fftools/ffmpeg: Fix leak of AVFilterInOut in case of error 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" The AVFilterInOuts normally get freed in init_output_filter() when the corresponding streams get created; yet if an error happens before one reaches said point, they leak. Therefore this commit makes ffmpeg_cleanup free them, too. Fixes ticket #8267. Signed-off-by: Andreas Rheinhardt --- fftools/ffmpeg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 173ac3c9a0..84306818a2 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -528,6 +528,7 @@ static void ffmpeg_cleanup(int ret) for (j = 0; j < fg->nb_outputs; j++) { OutputFilter *ofilter = fg->outputs[j]; + avfilter_inout_free(&ofilter->out_tmp); av_freep(&ofilter->name); av_freep(&ofilter->formats); av_freep(&ofilter->channel_layouts);