From patchwork Thu May 6 05:11:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27601 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6109:0:0:0:0:0 with SMTP id v9csp980017iob; Wed, 5 May 2021 22:11:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIzXYyA2Ff/ev7DvfesiB42SO5DCSnXCESouBdavsJsX7Og7h8qzK2OuDN+WERfQkXVP5n X-Received: by 2002:a17:906:7016:: with SMTP id n22mr2404848ejj.23.1620277909783; Wed, 05 May 2021 22:11:49 -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 j5si1302269ejd.355.2021.05.05.22.11.49; Wed, 05 May 2021 22:11:49 -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=cc3Pn0os; 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 E4A44680517; Thu, 6 May 2021 08:11:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075072.outbound.protection.outlook.com [40.92.75.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 57051680517 for ; Thu, 6 May 2021 08:11:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PWgBPSho5vZL5VdrOMsn1EJiKaODb177uhIqekCXMoD19NE5MVDSqrlQ43T9Y/YJ21u1y19jLfHUAt0EMHL+wIf+jTnAS9m4FSVGfdtKv6kkKJ8xKe3qfQttI2GcaKZTTMGmnKOPUj8jHFnGtvgLzrsCNnw1vDBa43zuh5OLjMGLS8cCXg1S3+/6Umt3K+vMY4uNJVTx3netFoFGsm6eP5qwNjhE2WasEMmHLee+kD8ItmAb4reGzUU5rx0+0wxJdiz3vN+/PQxB5XM2b1TNQ14h/XivcI/IhzqA7TYZf0+YKa+SOulP86QQ5gJec/OOaz4BSLVqvVPJL0uaRH5wLw== 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=KrpQwn0lcMP/Xw8ey6VG9oAff3Qo4wHI8I2yYNfex8I=; b=TFzQW09gHO3YWaBNKX+EU1KNlI9WrkRJfAGZh6vz11S+naBqDDWRn1wUD8KgArK9+UK98CzXck//migBBM5aN/PzPKvSYk3y76L/qoT5vYswfghcItf6cgOtlCF8syqvdhP+wiAqbQPOlCciVvDPX/M2MOINn1WH40cHIy/GYZfMXGS8rBThyGCWi6uPp/aEn2fJ1666DEiygGXAhpfVbXH72416e83V3130XIdGAPina4etJKJ1eAkEI2coohS+DbPop/4FeeakfFKVw7gOlwnfnZNUjcb+172RxvvUUpOXD8xH7qD/FyroWr/fuS3WO1LzxzJiYaxkuD3U8tjSBg== 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=KrpQwn0lcMP/Xw8ey6VG9oAff3Qo4wHI8I2yYNfex8I=; b=cc3Pn0osL0z3X7wRRZZehcvuky611AE8ekwuEzrS0Yek7GjH1IJNqiLT+QaqLfdrG4t1xE5XYemmHk5Fj1f7VLZ9nmAkFf1Ji14/LVo5WjiN28uQYSgVkRY+1pv6CR7Vre1XZsXyxPEYlYCiNi4k6QJeAbhCn6scj161x/zojlqoWXD85tbzmPHD4NMqWvqryWVCwuunrgJzX9C2cv8BqQcffFiBvnh9d8Ub5QzaDB66wu68ompxS9cjfZlCFIwgW2R7KrAFRG8E6udbWzJRiij4mykOMlEyn+Mbfh9iO7xVNQ51l2u0D56A80ZCtZquM0wEQFhjj37l4F3faPP7HA== Received: from DB3EUR04FT056.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::44) by DB3EUR04HT198.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::84) 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:34 +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:34 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:DD5E8643A84A0A6D0E4C2225E51FDC166CE709123473557A0468FA850753A8AA; UpperCasedChecksum:F62F3610E9EA0DDB4C4DC70455F0182A0DD1E25243966C6BFD166FFBF837BB1A; SizeAsReceived:7601; 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:34 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 May 2021 07:11:01 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [8HEWpzm31RRz7wS71N9vS1K2xG6ClIDnG6dcQtKuDEg=] 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-2-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:34 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: c76b25f9-43be-4b56-46ed-08d9104d6b1a X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQ2WpFcKeHQard1uCGdQvPThRU3ePgB81d4YPJKIatm94dpV5OOfmGrpiAAeL39jLHk7kzUbEhmHYEQvIo9KDdtVcB2P7KnBs2fjFddaZ8IYpYjslBBlMh57Y0cRWms8t8McBpgC07+LkVaJN/RF7mVMZhKIxSx+8rbRI6n67fresYhx2VnYGBOzbygPCO551a9uypdSKbsZ+I0mN34dp+CfVzSywnx2g+swtufoAoI8G/cdWvW8bSdbnaOYRB6oCdKlzqtptUvfX6MSEVX4Ga2hbqDL+QfWcel+yoLAZ1Q9bWAzQKthPKpbaJ+XnoNPeMD//0xLtIiKMxiuMee7pQFIMI0QyJEolmwTW2w7srMtYL1vsHJpx1ExSTRkOyhPME2GWKk46brtdkuiae8BJBTkskgZn5XuhgUhCBTbyLJ/Aj3EUMXO07fvQqAnmkSPnFfrVGSnhfy9F2ITcEiImIXGHCzyWSlPC/Cai8KZGSPziID2XE5DDtjM78COf5x522bTaI0rJKnhHYj09y6EeJvwToPJxQtGaH62vzgVC+BtbAn2bswKldpqMFF/3qOjzG2aEbiFGfIDh++9kFrZeJCu/sXFEPfVeBap5teHaALgLbdCWnR3/XPUE4iKjneo93ybsbuz61vGjH95iNoKX60bvQxxcezG7h064FLTKfCjoql/NHFNFUxwlNDmRPWnphE8hbillVQmr+o6faSR+ovBujVW/Sb4wmLscRxxKwDqHc6R8pqGMnwzQnwOjjb4Ws= X-MS-TrafficTypeDiagnostic: DB3EUR04HT198: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +segexn0S6bRWkvEX6fNkwb66HPAjVt8B3GWnMXSN4LUcLQBwHjekPGLHuZRExAdp9NZghk1C0sA5lh43PM8Lam540Vb/gSGjjd7M1FxrgcFgerdW1fHtk9UpCgD1ktx63Hr3xy6t1hqPxwGdaO8dtrOIZGpOe5KLqoyUCcPqibHNy78RUJjBcVFSxCVPs44RpI6DbVqI4SAtUGbJ6ttjKqsniawBPEoa7YZGJRnTPHHvQ5nXtsNor/rGW+A9GykP4tBjmR1Ernlux8uu0xGjparJxqyXMFWfRisf+ft7AVM+cZvAyzSBM3EQprrpBluel/T0v4hxAVTpg/2VMg447zANnQu/TGl6tMTWVCqyOVxRzomrGK/8ajy5fhlF9cv0hXuafQ5T5zRdG/W6MZkZA== X-MS-Exchange-AntiSpam-MessageData: mPwZMb1tNECkOTiUMpwwM4++TRCkeLm0L0T8LUfI8OcY31BGneyfbifROcGh9x6BEgISPUeaCPmwbFw0KgnN6e43rTWzkghzqH6LGXKNoLwTL/fBBOEd4Ishek0lNJK5qqkjamEr0ZLkl/J1w0cZcQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c76b25f9-43be-4b56-46ed-08d9104d6b1a X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 05:11:34.6935 (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: DB3EUR04HT198 Subject: [FFmpeg-devel] [PATCH 03/23] avcodec/zmbv: Don't free uninitialized z_stream 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: fCu+IDcoqEaa It is not documented to be safe to call inflateEnd() on a z_stream that has not been successfully initialized via inflateInit(); so record whether it has been successfully initialized. Signed-off-by: Andreas Rheinhardt --- libavcodec/zmbv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c index e1aba7f059..4cc0476f4d 100644 --- a/libavcodec/zmbv.c +++ b/libavcodec/zmbv.c @@ -56,6 +56,7 @@ enum ZmbvFormat { typedef struct ZmbvContext { AVCodecContext *avctx; + int zlib_init_ok; int bpp; int alloc_bpp; unsigned int decomp_size; @@ -611,9 +612,6 @@ static av_cold int decode_init(AVCodecContext *avctx) c->bpp = avctx->bits_per_coded_sample; - // Needed if zlib unused or init aborted before inflateInit - memset(&c->zstream, 0, sizeof(z_stream)); - if ((avctx->width + 255ULL) * (avctx->height + 64ULL) > FFMIN(avctx->max_pixels, INT_MAX / 4) ) { av_log(avctx, AV_LOG_ERROR, "Internal buffer (decomp_size) larger than max_pixels or too large\n"); return AVERROR_INVALIDDATA; @@ -637,6 +635,7 @@ static av_cold int decode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "Inflate init error: %d\n", zret); return AVERROR_UNKNOWN; } + c->zlib_init_ok = 1; return 0; } @@ -647,9 +646,10 @@ static av_cold int decode_end(AVCodecContext *avctx) av_freep(&c->decomp_buf); - inflateEnd(&c->zstream); av_freep(&c->cur); av_freep(&c->prev); + if (c->zlib_init_ok) + inflateEnd(&c->zstream); return 0; }