From patchwork Tue Sep 28 07:14:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 30620 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp4920535iob; Tue, 28 Sep 2021 00:14:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJygx9pNRD0L16D+XwhZ+dJB/q9val76BzuzWB447SHOE78aLS3JJZyHuFkce8XgEYco6ZNL X-Received: by 2002:a17:907:7ba8:: with SMTP id ne40mr1086017ejc.517.1632813280548; Tue, 28 Sep 2021 00:14:40 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e10si2785603edz.217.2021.09.28.00.14.40; Tue, 28 Sep 2021 00:14:40 -0700 (PDT) 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=qPZMAW9h; 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 41D596891F1; Tue, 28 Sep 2021 10:14:38 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069015.outbound.protection.outlook.com [40.92.69.15]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 03AFC680A26 for ; Tue, 28 Sep 2021 10:14:32 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E8eVQwxwY9knY3AAanXuO+ATTs6C7mnz5HZw5OVzG1qp8qraXMPQnqV/pCze8Tw2ihLOMa/TXi8lineEZHtih1Eoh5y0ybbcSlAQTNBb+4ylPQXS+Lur55pObAuK0SU6jKZFQe4WV7/3Ea9XTz6funlpxpNIxhhyXK8bfuZXiLmToJtgzNs76mmn6JmJSYqStG3Yo49akn12KmogZFiROmqSDqr8/gnB9mtD0Dao78aIH/uFjeS9mLd2cDbQ7n5lyEIHWlWJYh/jEA0TNs2qV6FvLW9btLWoSo2EvuxWm0aBxsLjWz1csV4yeIE2EmoeGSf/19qU/W0Ft92b0D9HMg== 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; bh=h9dUxWXO+anLBCuXaGTrxP8dqkDmi2wnTAFBZFuFzHs=; b=AIqZkw/9RfpBIyAa+c+WL/q2E5D0e4jZ8gpVRrDAW7N1c9Gz/uDHHEt6F21O6VkFmIUvOBAe6akjhupOaOjBhJcCYyoUMnm3zHcubC8kLUPdPoFrf0XGD6u0CNpyuw0wJ10VmzC1KNP7ifs0aVY2sOEtspUHyHc7Y/3KTpOzQu9dtGLl5zjJlWHG1UY42hC/PFk4Jn+kYc0TVURJ1LvvgEM0j4EOVLGL+VxDSNxSKrbr2oxB72Eh0/eUp7bLgBj120skTjBHuBCJP/guzk+MzhcOZv7Mq8TjlDxjIZQ9ZC4gtbXK0b5r47pjknH+m+ZjAQgiJgLivh9fqhCddZUPcg== 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=h9dUxWXO+anLBCuXaGTrxP8dqkDmi2wnTAFBZFuFzHs=; b=qPZMAW9hItBI4tvidyvAyAMw1mFdQdbPsbQBYU/MTIBy6fJwbuLgy5R14V29UN4+egdESWtx6152nlzT4sut1mr8d/RE3ZLyNSZEOgqMUsWsMvWIPtTAT/HGJh13EEDP36oCztafKc1wJoAMSjxu5hQh5pMT9D1wZtC2qzoJtjOMs+ousJ22IQXNT4dDDxiXA/oI6Unxk4yv2iJsKc6GKL8S6oOuW8XbOtFcChWaQxEbWE05+BRPjOnmLw8/o1jIQgv7sgXfYBBwc2dght/1E+1QChC8mQT6KEoI0bSqCOYnwL4uRWJnyDIZdqTGlB765rQtiaouDtLZRFuDlp/mPQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.16; Tue, 28 Sep 2021 07:14:30 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00%3]) with mapi id 15.20.4544.021; Tue, 28 Sep 2021 07:14:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Sep 2021 09:14:13 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 X-TMN: [bI5lzm+aNBX1h7CIiXLkaPatRxxll1E8] X-ClientProxiedBy: AM0PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:208:122::25) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210928071415.1188623-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM0PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:208:122::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Tue, 28 Sep 2021 07:14:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3b1113e2-1914-4a26-91a5-08d9824f9d26 X-MS-Exchange-SLBlob-MailProps: EpEO96k6WolZyfHRr8+buJ+alKMsaHGofjfLdva0zouaZfEwe5YFvR2GQCu0W96hjo5paLNx+P53C2rsY1/sZTrByEATuHmAYBt6qUTZ7sQsJCT3h/zMo1KPZPLbcsr35UL/XiKKFw4rHmplZcR5US16+/Tvhf4WTSG0vQPrz7qnbgfHKnspmzlONKkHIl4hSqw+wRJe5pXSsWuzOX5zpRziF5jpxSAW6D+q/eRo32TRbQBuZbAI+F10iRPm+KJ+F1U+Wfdd6AerF/up3nHLq7tCfo2DFnfUPYM/rECNCNvNycPzZZ4pTAwAv+nT7tMybTzg0IC+u2sAc+Gtl6vh19dGnlxPmNQ89EerpRut3IjAR7D4otSC8DoQqXkgrefWubu3AhwboUmmHfHRbswceNS48Vw8j7/K9BzP3iYheRnfNTo8q+n3OoYaYAXTbavM/e3rupycfTPUZMkZcSiwZZ/7nY+I9JgYLtGIRk0k9KYOOJrx/jjBT9t+tTEKeZ8x9ZEeqp6wb4r4e3IOPFMUj8v8CrWiQS0IstG28RncycaloN1zL/MmYA7ls5M4lesgIQotl9JvZ1FxPfdgSzwWXEEW4/OGii38wzW2R2gXPNceVjs5Q06bnU9ZgapjdO03k/bln+RX4pw8idf+VY7fIYtB7wXFfB58B3fprdSXSpIZKcdQ1fGdsb6jP4ZS7lgwMrg1kW4i/0HvXYT4OYXyYQtIkIqok2n7Un65EhlroXXYr2Nbkbw0xsW0Iwues4uy0ght8k/tbBc= X-MS-TrafficTypeDiagnostic: AM7PR03MB6660: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ze0jeZlPXd5+2/Ikna3zh2qVHOHtbJbs59giz80GzqutTu5mG9euKxb7eSMq/qcx3/koj9DLl/p60xCg0tdQyKruvJwcE510nKhsVAiYvx7IN49YdHYi6N2ilgt3Xk89RucI1plJNMEsDIhKgjWoKPm5YgylhNelKJpbXWnzDH4Pb315KkUuvn0PzJVKik7J7SV3AJrDzSz9Yb/SOo8RABka7Epff4h0vmDn6ullqICt2fhaAV2+aOTjcEZ8H9UdwSpmN26gI+s3gd+xUMTX1RXFs/kjji8gvzONDtQmGj7cwCzSVZsHk/wuc1w38fCJtK1wXo/MMIy0bArQKMSY1+Fd8/zLLGuj4c4xhRbbnNqDmwHQHwMey0P3ZnpPv8BttL2fKP4XcSgW1Ueu1P1pG2V9NQDoQWPGNksE/pbdf74SeenKWCDAVpAy3DUWr/6v X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sqxMYNUQPCgB3QGLaUw4Khc5clsV0L4UYYYO8RM1Dh4elaEwl4oyPpXQtmbiH798FWuJ24peJXVnRkEtGXhR7yeMZUXCSdAvRISz+WYaagOh0Y0cWmk+wa0/+v04IemRioDMFz/za2ByWKMDX6INDA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b1113e2-1914-4a26-91a5-08d9824f9d26 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2021 07:14:30.4863 (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: AM7PR03MB6660 Subject: [FFmpeg-devel] [PATCH 1/3] avfilter/avfiltergraph: Simplify adding filter to graph 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: qEL7bM1UGrr1 By reallocating the array of pointers to the AVFilterContexts before allocating the new AVFilterContext one can avoid freeing the new AVFilterContext in case the array could not be reallocated. Also switch to av_realloc_array() while just at it. Signed-off-by: Andreas Rheinhardt --- libavfilter/avfiltergraph.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 45b028cd9c..ee0c82030d 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -183,17 +183,15 @@ AVFilterContext *avfilter_graph_alloc_filter(AVFilterGraph *graph, } } - s = ff_filter_alloc(filter, name); - if (!s) + filters = av_realloc_array(graph->filters, graph->nb_filters + 1, sizeof(*filters)); + if (!filters) return NULL; + graph->filters = filters; - filters = av_realloc(graph->filters, sizeof(*filters) * (graph->nb_filters + 1)); - if (!filters) { - avfilter_free(s); + s = ff_filter_alloc(filter, name); + if (!s) return NULL; - } - graph->filters = filters; graph->filters[graph->nb_filters++] = s; s->graph = graph;