From patchwork Thu May 6 05:11:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27591 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6109:0:0:0:0:0 with SMTP id v9csp981031iob; Wed, 5 May 2021 22:13:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0JL54yrgY45xClQomvgIJg7dvkMOa6pd/7cXmsj1WV2GXa4ujsAxV5GcYC7oLxZ/5i5U3 X-Received: by 2002:a17:906:c218:: with SMTP id d24mr2318510ejz.363.1620278015929; Wed, 05 May 2021 22:13:35 -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 ka24si1325027ejc.64.2021.05.05.22.13.35; Wed, 05 May 2021 22:13:35 -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=CU5VF3hj; 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 F241B680C9A; Thu, 6 May 2021 08:12:00 +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-oln040092073058.outbound.protection.outlook.com [40.92.73.58]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A3A0A680AEC for ; Thu, 6 May 2021 08:11:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ea65bUWF1YbaLL5+iY7kz3n6AFAb4zsg/1QXDpeXnb/QxLG6Zp/AP35Cd8eZxoL2WoV13LX3g1NlYdR21QvK3XtnxEzs2lvmetGjKLOtQZ+HocrN19w2+7m+/48/Sy7cKPD8Tqr4/Yjvowhj1+yGfGXTJnsoYES15B5c/wtMAfji6ZtaVg1V63aXJIKKz3PlIQFl6crope9vw+SQ+HBcsnKafGwEPBN4O42aBTJhRLWJwRR7vsF8u90E/0KLSkaWy73WOb6RazN+qSNzBKp6l/bVzl/6cb5zrlRnX9t5vd0AxPk1iwIwMPtEPxQIYcfcGGmTORhkKHL/khbcIjxClw== 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=d7v/yzKVQ6PUA1KX0mr/paO5OKSlkgTx+UzwEAKR+Ik=; b=msyW/NnlPZjMZcXJZTCAvxAjb7SEoOk+5WFEdBsHmb2Uzb66BbaQ1I/VC4J2LF3dRj7uUIiPiNO+u5uqBCrExJ5P4gVeWIgHSgbW8I+oC7F08ND/niW0RRettvGT/+y0a3Uvpezse0U5tzsZzBtgj9Ns8Wx9wI/P/anEaQomsGF6I4/RiWwWYjlkkVsql9D8y92TPa9FsElzwKVcUKN8D42fIiWQ1fTJIqmRchXmZhOk4FqHpZCc6C52ARMR5fdUTFXVHVD17bzWbzmwikjzHi+zCbtY+7w65zyoRZIy29rZVRAk9qcAaRlHdBYqvsjsXf+KMj6hMu0OCax/qz/jaw== 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=d7v/yzKVQ6PUA1KX0mr/paO5OKSlkgTx+UzwEAKR+Ik=; b=CU5VF3hj1jLIJT/v3/1i7aceKLAW4qHYp0UHkvDFGlXZeEmDft4/nMAnOxdYJ2C8akZPpaXkacjPRg0dMCLAfKv8m+3LNj6ohZNeckLXOAob7KFo3jhhKqsiYUb6Hl2qJi4XXAUDwBo5Rj/Rg4dP78a4ErsqCy6IXuaa/tX89ysl8E3vpvhQvnbFuctMxSzf493M56vrInELaDzq5Zgg+2HLO+ieFCcoiJCxsDq68b/4Pk9+c7LNVqDXw+SNPMtvGpV3kZn2Zfip2pcYAzugv9KCJwVXeN+zDx61mcY+cZmSYCwZWnut7mtCPOpr8F2XjxMZ4qlnHmZkB5Db/oU39A== Received: from DB3EUR04FT056.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::52) by DB3EUR04HT167.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::372) 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:55 +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:55 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:973AAD6A22040459415C402A21C3B31FFE50CEEE2120BCCD144071EEC3D5F102; UpperCasedChecksum:4C7CD14790AE830DE60AE473FF6F872EE3AE106DBFB2964F2CADCD3E68047894; SizeAsReceived:7593; 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:55 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 May 2021 07:11:12 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [hUVYT7SpxP3bhGNFXW20dw3aBU6oHiQ/OcEwZEwkFAw=] 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-13-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:54 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 4cd8fba3-a699-4012-5de4-08d9104d7765 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNX1vi4Zzd+e+UNdoYIlAK0SOooF04Dlm/5KlDve22eKYQ7tLoF+9Y1furnS+Tdq3i9FYIdnK3Hy6fLHvQyBpJzVXafDhctCtxQX9z90znwWLvkGIfFLpRmbFe79ba7xjUuq/AKj3nyeC3UbZc5j1EhOOK/QxYhT1Ahvny4y5CO+0eGnRxUCD2I4+qfBBhoPYiqS8oKci1McuPOZ14oHYTHKOhSCkiDqD5bjAQ28Jj+gT9rM0K3Y82iZ6VsbR4ZmoRpOngAjm7pC8thIsQJhl0oRaGfbPcobfWXyOS+sZVauBWDD5ecC625UlPLkrgMU0xEBfkM+v4SjYGz1wyhXjbDa1PoXnm9/ExX4zj35k3djxrrMUxF0VXrOLL6LjjCm4PntcH1bS8k9yx4rnUTuwSww0KMYJd/Ic4K2U+2tqGC7gVUV64J7Gvu6E00X7SXNLijWkOFOuKf65Ep6S49Cw+pPwqHrCS5DjeMPCFaa1XQLCqTkQr6nbf3y0PKKtrbCGQ1LmwOVd9vCwRb3k36V5mExogv/IRUn+hhFoT/7l3mHrhSvrk+IJGvWhcP3IoQVAJswPBhmX5nYdVUC0xgcua9QL8xIQn6QzhOYu/PLwBnngps19VgwLP5H2982kHvGnMB+NuIdfOVdwEqh6CBgLwhEww2hoOPNThnoZBlaDhdTU1WmCa5MjsLsx0TpjIl88kokpQU15/OIChNT8NdOy7zQ4sSSt1lfdqQ= X-MS-TrafficTypeDiagnostic: DB3EUR04HT167: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8Fs1U5Y6Qkcwiw/t7mMUeh5E5nlYkK/wcKHs8Ilf29sdiIZ4PGNsEXmo7XvAFQLHjHes8W9THjErbJbkf8+ZeaiU+8DO//N/FLocBJ8PO7sxZggNtda5IDFwNQOshwS4r4UZMcnghRdkZtnV8Vz/lUOIq4dab19rsjyd618wj0DiAMlQw4YA0dXpaEu//rkieD2VAJX7cgfx38NroXdtNHTC8F65DTe27Rt4bZoLeb2+flOQMJEDTkT+SkRnO0GhtBuefHZXkxiPuBSYEZgrFgVvWWq++d4Lj8tvycKWQhT5M8WasA4xDNvoAsBcPe2e7PsQR4j9silb+ZQHV461VEWT2SD6FWnRtMgHvVgGLYZ4W/rF1lgar1vP0i1CArzo X-MS-Exchange-AntiSpam-MessageData: Ltev8jxDWfo6nfGyBaucHGfnVnqj0JpUkhcQYdu3GtZaPi9Nirkbtd7W0jQPxXA+en1QQ63/bOOgY6eSZ8AFh6mXh5gV1BB7TQXc2/NBXJ90+J/1cA9VNlfGOcDXxAzY90HBNmax7g97otp7VXgq5g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4cd8fba3-a699-4012-5de4-08d9104d7765 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 05:11:55.3323 (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: DB3EUR04HT167 Subject: [FFmpeg-devel] [PATCH 14/23] avcodec/tscc: 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: zhEMO3iijO1z 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/tscc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/tscc.c b/libavcodec/tscc.c index 043d78d018..e1a075faa7 100644 --- a/libavcodec/tscc.c +++ b/libavcodec/tscc.c @@ -57,6 +57,7 @@ typedef struct TsccContext { unsigned char* decomp_buf; GetByteContext gb; int height; + int zlib_init_ok; z_stream zstream; uint32_t pal[256]; @@ -128,8 +129,6 @@ static av_cold int decode_init(AVCodecContext *avctx) c->height = avctx->height; - // Needed if zlib unused or init aborted before inflateInit - memset(&c->zstream, 0, sizeof(z_stream)); switch(avctx->bits_per_coded_sample){ case 8: avctx->pix_fmt = AV_PIX_FMT_PAL8; break; case 16: avctx->pix_fmt = AV_PIX_FMT_RGB555; break; @@ -160,6 +159,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; c->frame = av_frame_alloc(); if (!c->frame) @@ -175,7 +175,8 @@ static av_cold int decode_end(AVCodecContext *avctx) av_freep(&c->decomp_buf); av_frame_free(&c->frame); - inflateEnd(&c->zstream); + if (c->zlib_init_ok) + inflateEnd(&c->zstream); return 0; }