From patchwork Wed Nov 9 16:37:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 39242 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp414792pzb; Wed, 9 Nov 2022 08:37:41 -0800 (PST) X-Google-Smtp-Source: AMsMyM5IHEuP1orJIgGiRoCjOyldu4g2mbz9GbGl1KivkUHQngLQAGWjwE7pFSWCOLAT0QwqSA7C X-Received: by 2002:a17:907:25c7:b0:77b:c193:9230 with SMTP id ae7-20020a17090725c700b0077bc1939230mr56753421ejc.316.1668011861076; Wed, 09 Nov 2022 08:37:41 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id wg11-20020a17090705cb00b0078d6418dcb8si17326388ejb.456.2022.11.09.08.37.40; Wed, 09 Nov 2022 08:37:41 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=qGVOSc7z; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5758D68B940; Wed, 9 Nov 2022 18:37:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02olkn2077.outbound.protection.outlook.com [40.92.49.77]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2929668BA62 for ; Wed, 9 Nov 2022 18:37:29 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BmS97rBc809BkbUC3KxX1JGv+HPhOC6EYzQlkhzOQm/o/KbtO+K0vwHgVVvrmC0J62bL5OvNPBZVUrRblQBBuldI/xiGCQECOUyb2qA1mzGdQCFC3rYxhwe32q4oauZt+6+wNhtZIFX3gAMv6R01MCF9BBUGrFpXS6dvUekzX5X3QkJBH0Cx5MxrA0ORhECzjcNiDzBZUEZbqwTgzVLstQ/5v4kKogybTlOqWDfkyfxBRLeeYPxSr2/cZxSuQNN7+cREGPy0NrK55XuDWCjJBhjuE2WC4jaDoXA/PDAUMJCOBbfbXUyP3CpiGBdYNZcVy9SrckYUP7nU7x7Ocir/wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hgiR2XZOx2gnN7MsWbH9ir5XStewkt/gMCrAmTDhzag=; b=jF60l5kE3+EGoEq1XIXGecqpAJbI/Ul4fy9J1cpqUnVJEs13j5q9n9wIlVRH2wGRMWiTpIx7gk1bM3brlDRMsJ8fH8QsiQ6aKHriAL3tMJL5Z792XjdMuZ9HmMV1OHpmdmCdrDhU2j+5IJ5dnlbl8DN5VWFaQ3qwuhksz6L5I4RHAg9OGswmz8JveeEe5bPymfm6jTodlBSusatHQsZtv4dk9GLgYb6GYEd4Mp5okUviJSR2rSQM7yK3a4Os+apUOlkHcMpNvPJOrl9jioRFZNd8xNsek/+781j822gwgj3KojJtodbf/EEFh+UfLb08BGv9WVsdZ8/PjcxXE2lzRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hgiR2XZOx2gnN7MsWbH9ir5XStewkt/gMCrAmTDhzag=; b=qGVOSc7zailBtHbN1ebW/0iz8s/MDXyjQhfalqHHhxBoVUDGe5pFJIG+nyEatuLz//3VoAQiLLIishOP2dgwvqYZTkvQpsBhGYtzxMoXRy8u3vKNf6OI6A1ajGXwAcZBQM2gsFsVxcgGfHc/eFW/rNWHsgscnLWPYqGNfAcCRGvtRJP+OrdkfYAhKVYZbzts05xf+ieooh5zwLLkhQhud4BWF+yLzRFcA4KF64iOHt3YkvxH2uCnYUgJ97UlY6tZHrSLFIvhZE6+sfkZxfY3s/J7Ly5mwGrzS/95Mg5BrTM9ugreI6MMFu1hePuLF7KnBV6O+VcQ6yL9FvTyIU0uQg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0141.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:239::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.22; Wed, 9 Nov 2022 16:37:23 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe%6]) with mapi id 15.20.5791.027; Wed, 9 Nov 2022 16:37:23 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 9 Nov 2022 17:37:29 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [lb8AjnLDxMZgaguG6u0yNgiq6im2PhkJYKrIRZQlVeo=] X-ClientProxiedBy: AM6P194CA0050.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::27) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221109163730.344988-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0141:EE_ X-MS-Office365-Filtering-Correlation-Id: 811ee935-9a34-4a2a-9af7-08dac270ad86 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqNWn9S1x2PUOFdlA6Fd+ZoJAGjqPBbK7357UEmh9B1WPx0KrI/WUj4ag8jtqXZ8j9DMJEUzGQDEwxRvVecOF0bKjWPODDaoxJ91N9ZKIlQ5emxi6224//bvl3cZY5mEGCrk/ZeRXxdVtRFcLQNbz5+L0MlpdiWXccBj8dBTiWKABSyHfX5UsrmjnswpfiT/uxPuDne+ZkTqnOtDh5al292Wh47Hnp/psvJJQ0JzaZMNenI63hN2PU8uy4utu4PBaneTt0itxEbf+S5wanxjfe6U2GyjG/GQbX1977hk8i1OVMCp3akviiXG6AAngTrwzv0X6ijZ96iiZ3n7D2CR1Zzg5zqqx0yRWy9D/pkmlCx+Gk4C3Z/rrmtPGVBZ5T1DuhUGaUPSn6fhbTdnkvsSaJ5S8UEupUa2nnFPSkGYM1u1+z4NlQfgCE7YUce4G9SHNcViplU3kW4KJ/EczbcqsXTHiE2m1JlYtYScaCK0BDw8Wpn0/MV5luQQ6/16uOeJoXx6KU5qvuUjmE/K+/tGo0p4gac021RjQD5V6UdS2dRvcDIeYuLZhvR0dm2fOwoLhKO8hZLlN6uQdakwxYgiLTMCaeUVddtZMSuaKBk71Rl5mye+dqt2NJz26TLSuv5KSt+d82TepjVOqJ7D/tXBhJ1G85FhBo2gkdDm1CDsrY7LxUi85tR/ICTRfEAM26653VbbLXLG7F2Uh6A0xGLskqzoLm3h74g5e+VlPjbnfKjdpVBlsN1RvRyESZNFNO6NI8= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z7EVW0Oag7mLhXGxH0iCYjv8N/JbZLiPBJTVkEoscvKcrV0sc8DTj8SydVm5TAaSLS9RMX2N1qt7YD/sWOxPxhTUBwuHstrFUxr6PnDEwr/YzGxpuYLq6YhLB72TsfJfHRfcEibTtILeBDGN7kZA6Si7O4QwMdD3waYuqt37KqVYM9r72BdYBSxhg7bxLa93Xx0PwmanI6+j6Zy+aoQRSWTM0V5IYKOajG3Xr0JnLEnM+h6lY7xct8ePYkJGGYRByE3RbNNgA4Gjy1f6ZtxfD6zA7+hAwRpxg3wUivl3+hpM0eDAe5mCg/ZwBj8GXiMyskWYPzItQ8Z8LAeLZkXbhm8zpdlO82cTw04Sl1+/hVtna1pLwWWCwudnn92JXODXW1kiS7Pf5/n0dFb9D2gFSXtvPUs3GYvASDKy05FMkk0B8724hch6L/3wWmWZR3Yn6/hMF32IFGNBqVEPmq4PIduK7MRRBsdU+VFgJRHCZdLFmfRxR3AaoB3BVzSplH2hTyENO5aepo4llktVXl2NwbpWTBv352/jNRWw4be02avXQ+iSF3WwmGuytA+9ijVBdYIbreuZvGM8tOb/qyl2Cr5SYCoR0zjlgBvOITu9QBONu3W6QEk0t+Eeh3CcAwYNy4xxE7CKojUj7KiI+gIR3beag+/T8Zb+W6djiqd4yacsSFr681sCLYWzy4NcXMby X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: eXY+pVt+Ji8pnUCgNV1gpU3tGwlIEOyd7W/p8VSZj3A4e/R0HRot1JvEcFX6Aw5drqkpHyItmL/rggtMCnqijr88bwABJk5dcWSnvz02I6YthMPxMy7O+FPGlmv02d2l29tjBtSAjlNq0qN38K+QjkAB+OfXvcX0RRBVDAemUOi4lj+TuU5v+/zepjBBZFdTcwz9iYj5iuk8Oorq5hTyjH3IxFB0y5REpSvB3L+NzhsJm68QToUjEKF4ykNlvbDJJVDerwyQOqy9h0Hl4Xzgi8leEKnnAgJCj8BPnh5M+el85RvAaXE5aQDslXd9TZhHaU5eWcMC1tSP+hEwY0Fak0nQwBULPHwPnkzJjbiPsLmvw+CsQD8u1pvy/PWx1nqfaAB7054y3MT88s/XT7f7oQYVbxoGe13cBx6iSgAnz3AoIuzFnXANCOXNnDH99Q9LLGuIY+wIk7RLbXgADte4imEX/NrPIS+00t9w6XCgzn8Teeugmvka1j1m0svzxXTCsgHxpBod3zy/2w4FyqZNlOrdGQS9rUrkKoNdm2Ycq+AJOS5YG3sfx7S6OVwuCg9wCfPBx4yW7qgrENXN3gRP0EOPL0UCwJgBtBWEcEZiYFtrqFvg+vOnGZqlLEm6aegL/SqFqXb0F0L+Eq87tXm24BBJ8+sernvDmpT3pSsycSORnLbs8B39PXcmzC/TZ0vK94FpkFFPLneEKBazx3hbbXhCTgMQkTbK5caUwUNjOgNL5Wj0/P/IbWDqVXM6voT94vKCIRx9EgjfNnVepeueqaTHTY60Bwj9U5qT4dU/PbhJFTAcuCmJcdYb9AiKNbg9T6WcYD93iVjnW6dVbMVmIPH8+fhKTdB3TDmBDYfGgTAx7uOt5n0Nn4oRfv5MxnyvKK3vFZ/WboM8AgKdnqoqSolSdRzSHBxxOhJyTmOwF/EvfNZy/pvsXAzP5g0K+OGHeXDt4GnlcItRBoKO3TTK0P40tk5BjDcz74EnS4QL3x6uyP2d5/7ud8fKBybM0ohi8leG3NNJfTBMrr26yR332epXiyU0ZcTRNZON8FYYOYMaoIa89xwk9Gk4dA8qNeuIqnFxEdwk+5+GbZZEcySI6y8j/bZ1erCD8KTHzN8aa8YzdPi/KF0dCUKFavMWeebtf4cR48RhsYwHy1N+C/rkch4XCcOonAuuNMoS2AGCQWcq71DXOPjaFOtQAso23WBfbph+vcWwWmXgqSosu4StYmkWu1QRswukBh8TkfI7D8gW6XD2txZyWcHo2muAGK3zE3nkLBSWHrPvS8iF3kfSBjkGhAOVzmoKhqKSC5Q2u/E= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 811ee935-9a34-4a2a-9af7-08dac270ad86 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2022 16:37:23.2398 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2P250MB0141 Subject: [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: Check return value of av_tx_init() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: voOclvnUr9T8 Should fix Coverity issue #1516762. Signed-off-by: Andreas Rheinhardt --- libavfilter/af_afir.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c index e1fe7d6a64..910999cce7 100644 --- a/libavfilter/af_afir.c +++ b/libavfilter/af_afir.c @@ -158,6 +158,7 @@ static int init_segment(AVFilterContext *ctx, AudioFIRSegment *seg, int offset, int nb_partitions, int part_size) { AudioFIRContext *s = ctx->priv; + int err; seg->tx = av_calloc(ctx->inputs[0]->ch_layout.nb_channels, sizeof(*seg->tx)); seg->itx = av_calloc(ctx->inputs[0]->ch_layout.nb_channels, sizeof(*seg->itx)); @@ -178,22 +179,29 @@ static int init_segment(AVFilterContext *ctx, AudioFIRSegment *seg, return AVERROR(ENOMEM); for (int ch = 0; ch < ctx->inputs[0]->ch_layout.nb_channels && part_size >= 8; ch++) { - double dscale = 1.0, idscale = 1.0 / part_size; - float fscale = 1.f, ifscale = 1.f / part_size; + union { double d; float f; } scale, iscale; + enum AVTXType tx_type; switch (s->format) { case AV_SAMPLE_FMT_FLTP: - av_tx_init(&seg->tx[ch], &seg->tx_fn, AV_TX_FLOAT_RDFT, 0, 2 * part_size, &fscale, 0); - av_tx_init(&seg->itx[ch], &seg->itx_fn, AV_TX_FLOAT_RDFT, 1, 2 * part_size, &ifscale, 0); + scale.f = 1.f; + iscale.f = 1.f / part_size; + tx_type = AV_TX_FLOAT_RDFT; break; case AV_SAMPLE_FMT_DBLP: - av_tx_init(&seg->tx[ch], &seg->tx_fn, AV_TX_DOUBLE_RDFT, 0, 2 * part_size, &dscale, 0); - av_tx_init(&seg->itx[ch], &seg->itx_fn, AV_TX_DOUBLE_RDFT, 1, 2 * part_size, &idscale, 0); + scale.d = 1.0; + iscale.d = 1.0 / part_size; + tx_type = AV_TX_DOUBLE_RDFT; break; } - - if (!seg->tx[ch] || !seg->itx[ch]) - return AVERROR(ENOMEM); + err = av_tx_init(&seg->tx[ch], &seg->tx_fn, tx_type, + 0, 2 * part_size, &scale, 0); + if (err < 0) + return err; + err = av_tx_init(&seg->itx[ch], &seg->itx_fn, tx_type, + 1, 2 * part_size, &iscale, 0); + if (err < 0) + return err; } seg->sumin = ff_get_audio_buffer(ctx->inputs[0], seg->fft_length);