From patchwork Thu May 6 05:11:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27602 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6109:0:0:0:0:0 with SMTP id v9csp980188iob; Wed, 5 May 2021 22:12:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyMN//hcexEDQv3F0qLp8gNT3nnVRNKZ+IJwXqL9nZY5v49eNzFQdasiU70XrMISasA+saX X-Received: by 2002:a17:906:1f88:: with SMTP id t8mr2306316ejr.383.1620277929522; Wed, 05 May 2021 22:12:09 -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 q27si1266863eja.25.2021.05.05.22.12.09; Wed, 05 May 2021 22:12:09 -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="tvZJK/1U"; 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 06AB9680910; Thu, 6 May 2021 08:11:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073043.outbound.protection.outlook.com [40.92.73.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0CA9F6808E8 for ; Thu, 6 May 2021 08:11:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MelwCe00jH21cw5Ao1HF7CfRHJqALZgWB1+IXUhS8ATVTkXP8ICMPHetNos9Rx1DOMrHh+kAS8t9m1cpJvcUUeWy0NeSEHat9oG94pKVivgnK9+ovRMx3BqVZ8h4dYYrqNLE0Ab2BvNOXvZu9shTaIDEkMe5CStsDDiSPo8+Mg1pLOsRjB2Di8KTE24ve1mMmGEjtDVCd2CipDFwgndcXG5X8jQ9exFCAE6tiiBJDrsKSkSpSoNnFN2YCTFmH2ujwW0FRKd8iz6AAKS7LE4OK6E3UwdOlgd+b0iEX+UmlflYSuSgRPGUyxHUmYmaG0er4ZSVLgeAsvYsfV8S6+O++Q== 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-SenderADCheck; bh=OpArLkWXpc+fpOByQFCAvxiy1tpJ236A+VFpYJ62r6U=; b=JjKyqFs6VSCnybBv0rFO2wV5zRhzTHS0hUVfzcWzQ/BqBUgU+f0pbQElCj0pURMV3diAseslfxxsLmmYzNIfSNNuLxPOg/KnX15IK2XsDTy9zcd2T6cQ9H0iNFB1yc5LbymwU7WuiJTwst5lUzvjEOQlgNdrYPcLxSKhPwFtxjDOtkyohyk3yKIWl8hAlNDXd2rN0jbmqCgFpgyjoxyLElcouJcTq+7u07KmL4e9IeBqltia30+2kyLOi4nOSwAph+phsCaw2ISH9P4Xn/EEDq5HnHI+URiRDYfKFu0lgOKsxHV93VjFLcyE+v8Spe2dcx1Bpd4zHAjVyXd39kVKwA== 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=OpArLkWXpc+fpOByQFCAvxiy1tpJ236A+VFpYJ62r6U=; b=tvZJK/1UeAKPpLVQUfw+GiOYBulkz5Toi7dsr3TTkqPV+aKerzUlLxbe1UT0nTU3qhrAkG6s7wXBRGIj6SO1rsKRo9EYXEiFiXAlTa18tCcxEmr7paubn9KLFpi5R5DoR4AK0nzxGAegB/L2X60gPq2CnwXnmNg8w5jmwVJUoy8G5xlbqVxqaX5poN33I1mBkv3Dezpblrlpg8K/kTDm/txNq5Tfjjkr57ZSCcBnGUcCaFBNwqBQWEkQ1kk/P10weM2Prk42D9Mwd3jVPARIdwKbTycCKkJUC0+/buYFFtHrLxtM0W3FRikNEuxin7knepG6BhNEaZBoZj6FNYtkug== Received: from DB3EUR04FT056.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::4b) by DB3EUR04HT047.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::321) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Thu, 6 May 2021 05:11:43 +0000 Received: from VI1PR0301MB2159.eurprd03.prod.outlook.com (2a01:111:e400:7e0c::45) by DB3EUR04FT056.mail.protection.outlook.com (2a01:111:e400:7e0c::69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 6 May 2021 05:11:43 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:8979FECE1688F5BE33F08DC41C8199D0B7D35D25F4525913EDA52FD9B565C629; UpperCasedChecksum:2CBA3CAC7014971E3E4B6AD0F022D654348AC387FB064EB948F012E397F1BFB0; SizeAsReceived:7599; Count:48 Received: from VI1PR0301MB2159.eurprd03.prod.outlook.com ([fe80::d9b:66ba:63ad:967b]) by VI1PR0301MB2159.eurprd03.prod.outlook.com ([fe80::d9b:66ba:63ad:967b%5]) with mapi id 15.20.4108.026; Thu, 6 May 2021 05:11:43 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 May 2021 07:11:03 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [paOrmMk8S68ovrphEYiVr94rUrrElsdMdcX9AE6ZJ+E=] X-ClientProxiedBy: ZR0P278CA0145.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::15) To VI1PR0301MB2159.eurprd03.prod.outlook.com (2603:10a6:800:26::20) X-Microsoft-Original-Message-ID: <20210506051121.832886-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.193.170.150) by ZR0P278CA0145.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24 via Frontend Transport; Thu, 6 May 2021 05:11:43 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 547b6dc8-e7a8-41c3-6011-08d9104d7084 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQ2WpFcKeHQard1uCGdQvPTEg6DjnyLH3U63QWz69b6bf/gDmh6eM7PcpQwoaDnLOJLJ8noK7VCLTM9c9552tKuEiqO/IeBtNNU0Ciw1HWotc6gbzS5+Nv3b9FEWeKXd4I3GwL09S+RWU7ZrhlwxBq6oM2I4ZPPJM+Z47e7bP5rOeM1rjMCHscou2k9twVnB64pFvAr9MurY2pbS6gcBWSxKoubpoGbpCmMiz44EpvDKp+N4OM3m5+TVQdviRPz8X/w1tAdo5vYTNUVFrDy5hBqMR4H9JAyBUeI765OKvZ9yorplL9c2MfER311s73mr1Wa3IOg7ajceUXPe/gDQyl7xrdaMwURxeP5iQ/MYN8t/1Yuk5I0Jqe0hrZSq5o/pS0PfuvPBQS74Jiv93TiRqac9ollxHijN+Mng1ixqnDf8d8FESqH1ZJ/er3YMPkFtFuhTeu5rX2lXfmuXM13her54kWc9Ww4GjqAOTb4DeT/xG0/QMS9kFdmswyCCoMVBeQUQXwPutfviBMlrOd48/JzJq66R67tN3JyStfSsmN2/THIy6n/hxRTs0wcZyqo9PzWXAw7ZWKq0TpIesPc6kIkKP7ypbGoSePieQa1LXZwuPySJ61UJGSRRRwYEJd2w3p0l+0WcczJoROtzAu6w9E8Y1UUiUsdxtHyF6WEx+/HqrjmnUMspwI/dM2eF1waL9H/Uwl6NL53WMuGzQbTMXcdXw9cr+Kz9deOewUGwLExDj1qEQXFOK6yGKWbksd3okI= X-MS-TrafficTypeDiagnostic: DB3EUR04HT047: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0yftZm74gEbU3w/pq6MpueKy56PdCeaZDGSUY8xBMH8VtXRuvOpsuPQWcTMBdurLLEzVyP75zkZG0cdyXBrP3dbx/CORW5BwnFL9c7wHO8Y1uc+04hAD6TpxlMJ2419xjHxeqIk37uTsDjwG9a7/X7+cPyHq/EYPWdcM3ITwSTGxf9KevATlDtHvAmQl+JA9U31UfwCgciNCJ5DIpj4IrQDD8bguANQf80agv+JuY7AXRnLrVXAjN+3F4eemcEPFhuAAaOQCq2MM3iTbNhZzCQRvcK1KR4nfLxUon+Shse5YH/EHro8e8EcXmGkJcNUrcyvU+WpZqHvWq3x338L7QaF5DRwfvgudVpumE54SCc0m6/7kyFMP3VsDtxxtExCyWNeRMh1xz/jPZyFQ1Y2vSQ== X-MS-Exchange-AntiSpam-MessageData: J/Zqx3wVdBLvHNXb3SKBVTZAfMCtwPp985I69UGxBVRCaEB5vXAjsRGHIGTUh/qLQe5fYYi1SuMO/OGhxtWcbhKgI0s1rxwqNalbgZ8YIp45dpQ99KDQOBMWrvJzqWhAAOEFvthSlPq4D9lh38UCtg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 547b6dc8-e7a8-41c3-6011-08d9104d7084 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 05:11:43.8074 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DB3EUR04FT056.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3EUR04HT047 Subject: [FFmpeg-devel] [PATCH 05/23] avcodec/zmbvenc: Fix memleak upon init error 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: 2N6qUWy4WXoY Signed-off-by: Andreas Rheinhardt --- libavcodec/zmbvenc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavcodec/zmbvenc.c b/libavcodec/zmbvenc.c index 531559e264..d0c353d0df 100644 --- a/libavcodec/zmbvenc.c +++ b/libavcodec/zmbvenc.c @@ -74,6 +74,7 @@ typedef struct ZmbvEncContext { int keyint, curfrm; int bypp; enum ZmbvFormat fmt; + int zlib_init_ok; z_stream zstream; int score_tab[ZMBV_BLOCK * ZMBV_BLOCK * 4 + 1]; @@ -305,8 +306,9 @@ static av_cold int encode_end(AVCodecContext *avctx) av_freep(&c->comp_buf); av_freep(&c->work_buf); - deflateEnd(&c->zstream); av_freep(&c->prev_buf); + if (c->zlib_init_ok) + deflateEnd(&c->zstream); return 0; } @@ -376,8 +378,6 @@ static av_cold int encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - // Needed if zlib unused or init aborted before deflateInit - memset(&c->zstream, 0, sizeof(z_stream)); c->comp_size = avctx->width * c->bypp * avctx->height + 1024 + ((avctx->width + ZMBV_BLOCK - 1) / ZMBV_BLOCK) * ((avctx->height + ZMBV_BLOCK - 1) / ZMBV_BLOCK) * 2 + 4; if (!(c->work_buf = av_malloc(c->comp_size))) { @@ -419,6 +419,7 @@ static av_cold int encode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "Inflate init error: %d\n", zret); return -1; } + c->zlib_init_ok = 1; return 0; } @@ -441,4 +442,5 @@ const AVCodec ff_zmbv_encoder = { #endif //ZMBV_ENABLE_24BPP AV_PIX_FMT_BGR0, AV_PIX_FMT_NONE }, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };