From patchwork Fri Mar 12 14:24:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26352 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 931B944B517 for ; Fri, 12 Mar 2021 16:24:20 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6AFCA68B1D2; Fri, 12 Mar 2021 16:24:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E8E9868B149 for ; Fri, 12 Mar 2021 16:24:13 +0200 (EET) Received: by mail-wr1-f45.google.com with SMTP id j2so4901227wrx.9 for ; Fri, 12 Mar 2021 06:24:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:reply-to:mime-version :content-transfer-encoding; bh=TXW0/jogbFgwq4h7seHQv/BaZuU0mzcBNwAxJlqVNnU=; b=Gm9LdV+838M1ebn9sFbIkDcAzHkQwuzlcLQ7TJPIIMJMPSdUhFsRqPBRjWVauGgZCN RWyA7+rE2QseI+96qltSHJZlF9hDPPlx6UVhCzu1oWXB3+VZZwWv9ClsDzZgKDTqE5nX ZiU5xbHIsrHIB2HTyzpUp7ux53TBRFLKmBANMaAb5VQJoabKgrHn8e0wFNNb0DIi02rL MV/AqkUaR+WF+88jSnEY02TSxxJ8JlxI4QA/9TlIB7KrNZP1gfDKS8zdLdWOcYU6DmSj wbVK38ScRrxdvn63b1Jo46RQvano/R/Ltl90/7j00YiO07OH/YgZhnLLRxgvTdn6Ime8 RbGQ== 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:reply-to :mime-version:content-transfer-encoding; bh=TXW0/jogbFgwq4h7seHQv/BaZuU0mzcBNwAxJlqVNnU=; b=uOMxspgARJEOMMPE844UEK8zL8Yr8Ym1mYKbvJUp4KubX1tartZ7WseSLFakMcU1qU 7PnaTu+MaG3RTVVjg0MY3nRxr4SyrKM0I08RkgXfYbby5S4l6346a0ALSAaXS45Clui1 yBAP5xCkW+unmn9zgiTK8YZdmRlYH0q4qhKl6NAbp0kipKRCI5/wdQFOjkVPQsgQa5wJ AHSUHV3QMZXFEEK0v2+XmY4trs2rx5LF20NaqU59pvQ/OIVFM27yX8zEdxTT0yZywl/A TR0xKWlkaFCxrO4h00IgHmyomw/QAwHTFg59qc4CrBdgrMwXw3ZvBmcUDdxz39aEZXZt 72/Q== X-Gm-Message-State: AOAM530nBle3g3Aqj9+22lS5MNHaO3a/a359+pnEQC8/ZnA92u34ljDU a8bCZjsISA0d9zT5S5yE9BVdvtfTuzg= X-Google-Smtp-Source: ABdhPJw4Eu9DVWBEeTgEQTak2hO9z1dW3utkc55mKCVAIyOgxItXzEgZydZMVKpCFnyksFYNHnnSBA== X-Received: by 2002:adf:90f0:: with SMTP id i103mr4355605wri.318.1615559053201; Fri, 12 Mar 2021 06:24:13 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc08960.dynamic.kabel-deutschland.de. [188.192.137.96]) by smtp.gmail.com with ESMTPSA id b186sm2262515wmc.44.2021.03.12.06.24.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Mar 2021 06:24:12 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Mar 2021 15:24:06 +0100 Message-Id: <20210312142407.2034015-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_uspp: Fix leak of qp-table on 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" Fixes Coverity issue #1473500. Signed-off-by: Andreas Rheinhardt --- Why does the new qp API actually need to allocate the qp table (instead of reusing the side-data qp)? libavfilter/vf_uspp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c index 8b39f53c3d..b77edeb244 100644 --- a/libavfilter/vf_uspp.c +++ b/libavfilter/vf_uspp.c @@ -425,6 +425,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) out = ff_get_video_buffer(outlink, aligned_w, aligned_h); if (!out) { av_frame_free(&in); + if (qp_table != uspp->non_b_qp_table) + av_free(qp_table); return AVERROR(ENOMEM); } av_frame_copy_props(out, in); From patchwork Fri Mar 12 14:24:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26353 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 A530244B517 for ; Fri, 12 Mar 2021 16:24:37 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 84DC068B1EE; Fri, 12 Mar 2021 16:24:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2B1BD68B16E for ; Fri, 12 Mar 2021 16:24:31 +0200 (EET) Received: by mail-wr1-f50.google.com with SMTP id e10so4899217wro.12 for ; Fri, 12 Mar 2021 06:24:31 -0800 (PST) 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:reply-to :mime-version:content-transfer-encoding; bh=wldikLKPKQHy+tBmNtg4xaE33GPnPgR8CbmvRJy9rhE=; b=BWtgxHexB9muVR2OCLkSeEPk4tjGRjdtrDH6f1qD1vB2nv6pqmVsNR04XCcutRwRxx cAtbPItC0VAMVWHI+ucR5BE40fsyih8ed7K+QaADOkJDe1jyef0gLcOJ59aTPbOl1yiP ZNijFHaFz+8GTcaliUrtWv4FVyas2mo03ye8q8LeXtyJhiiz8xkPUH/cEoE5MZEjG7ic iAig2+Khvfb0rjdnHrqH6C5etYzzPQjaqb0wsVvs7epkm5gfWn6aeCOWTtH9+l28Ng4+ jnHbn6jQF90hIA37rovxmPhYVRu6bb0HUAv0ITXVvwq0e2C7dyiGKRmCQcVFIji/grE0 pNNA== 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:reply-to:mime-version:content-transfer-encoding; bh=wldikLKPKQHy+tBmNtg4xaE33GPnPgR8CbmvRJy9rhE=; b=uiAGKyCIljBeQthlkTeyBD8sMLXrZOSS50+lAqIOYCuaVO68g1Wyd+Nknbdqe2net5 Q7EA7Tm5lxo1dt+b9O0rqstdc66Gvhz9nQ72V2MonleLR1Drd+zShCWK6N5Y9fZH4iMb s1WH/H3BJWRbT5b3Z7HNTPneWcVdUu2Cv7ED7k5jDlc8eEhqqyHCxoQGnVdeHcsWug2e p40crzqtctygmta6CldtXq/3e18zEtB+PHPnExi4QhXSyfnP5cPMWFWNbdkyVALCws3v mMaQYrJIOeNKAa2F6ncJIIfgJvcQ8aGW14/6JghAlTs8FerhzI560ACWYUkSkgc4FjPI zZtQ== X-Gm-Message-State: AOAM530zS2EKlNRpRmU2515r79/H0Bh0p3uCxIYU2Rk0A789s4LCQ9Qk CKMCBNiGFJ8L8yw3LlOLQ/W/N3/Pmyg= X-Google-Smtp-Source: ABdhPJyse6wZ4pa62t/4QFuTLu3m8n5okJF0i+EcRvi73U8ePHdaISXmMBPNcH1kHxc0D7Cs6E6V4g== X-Received: by 2002:adf:f948:: with SMTP id q8mr14466773wrr.296.1615559070433; Fri, 12 Mar 2021 06:24:30 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc08960.dynamic.kabel-deutschland.de. [188.192.137.96]) by smtp.gmail.com with ESMTPSA id b186sm2262515wmc.44.2021.03.12.06.24.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Mar 2021 06:24:30 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Mar 2021 15:24:07 +0100 Message-Id: <20210312142407.2034015-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210312142407.2034015-1-andreas.rheinhardt@gmail.com> References: <20210312142407.2034015-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avfilter/vf_uspp: Fix leak of packet side data 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 uspp filter uses a special option ("no_bitstream") of the Snow encoder to suppress it from generating output. The filter therefore did not unref the packet after usage, believing it to be blank. But this is wrong, as the Snow encoder attaches quality stats side data to the packet. Signed-off-by: Andreas Rheinhardt --- If there were a fate test for this filter, this would have been found and fixed long ago. libavfilter/vf_uspp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c index b77edeb244..523e47c811 100644 --- a/libavfilter/vf_uspp.c +++ b/libavfilter/vf_uspp.c @@ -257,6 +257,7 @@ static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3], av_log(p->avctx_enc[i], AV_LOG_ERROR, "Encoding failed\n"); continue; } + av_packet_unref(&pkt); p->frame_dec = p->avctx_enc[i]->coded_frame;