From patchwork Thu May 6 05:11:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27620 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:49c5:0:0:0:0:0 with SMTP id w188csp902435yba; Wed, 5 May 2021 22:14:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxuTTyVTxxvRlpzVJlSxJHqPHYVPcpCodKRuqj96Tf6WXD/EGOj9lvBznP6NVfpc9zUxnQ6 X-Received: by 2002:a17:906:c099:: with SMTP id f25mr2313908ejz.499.1620278079142; Wed, 05 May 2021 22:14:39 -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 p5si1065467edx.563.2021.05.05.22.14.38; Wed, 05 May 2021 22:14:39 -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=qrTEKhqt; 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 AA074687F43; Thu, 6 May 2021 08:12:07 +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-oln040092075026.outbound.protection.outlook.com [40.92.75.26]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5DD2B680AF3 for ; Thu, 6 May 2021 08:12:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eI69z88iBUkdsiOKsonwmagx+zQTWgsQFqXUBCv0nrOcA9+h+o8C7nLa1SSHb0/3FSV+c578WrOfpxuUSTBfpAP4YgyOa4XacKC2AV/UnraFwVOBEcPx7pXv8LrSyfdcisxo7bcydSAU+t6RMke3gUaEAMEDoTuMKZtvngLetUNZmiPSEMx81FCjkkf+wM94wY99eluxI2oTf8FD1xAJ/BIafn9zitSsFTKEMiiF8Cke3ltJxK00IIeKJBHxyXfWqUOMHQiOC41Mmg0JkptIrMam2A40mmW3AzNP8H+y57HvT8aZKkQ2/qPXVyg+AGQMl41fs4Mi3IP9ygH9OzGB0w== 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=RnlmTIUcgFfONMdE9u32RE0d/gmUX+SS1pVDk/K6qFs=; b=X7BQ73TsI3DcuPWNdHTaZnPs0lfbrFLtfYLCKbQmY8nydNHxydasC35+mv5OXlK3RRaz1l/SyZ1zAF20pqOB91D4x+fPT/j9/eMm/qjCN2zfsMLCoH+dBUM8mqy2obeKjkm1gyE9sUS0HQfxEK+hBdqfRPgS3qFVAghNmDNDUuZHzGDbxGFVCmqBf7budjgUwNTp7cJeq//9tDu8mjYjLqfqnwnScu2dBtae7tsaqLM/UpR7kxn1BMsYR9SKi0IqhW2ShAelXFarlNHhfPvMuhgonBokjfA6w5KNMfypn/oEE7g7b8LWUGQ+AAoaL5oz8fOtE3XbWV8pQ/vH2MrP2A== 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=RnlmTIUcgFfONMdE9u32RE0d/gmUX+SS1pVDk/K6qFs=; b=qrTEKhqtPmZFzChHHQvUf/goY95oWvTQkX7H7RqmnkVPVX4P9qHeeqcSgouDgzXiy4UtiB5h9mrsyZzJgkEiHAihq+ytYZrwr1bn/Am0mbhGUGHIXlF0kKJiAk84E7x0OnNDKN8jRn/CHGEFGffQIcawK/69rFVytrDqGiXHUwAoyGia2YmTmCwiCJhLgQF8GfN7kRY0SEXyLtvGXuu+z7JjVhl6DUA6ghqB3NAT2x1oCLNzwZPzoPzKVt7e8Gcu7DgdtZB9aq5eTMjisxE8paAk0Hw5ufXAHPF9BAkqFwCrNUq6zJmm8T8d4+bYUcgGdwCEpBe9AwrUPYDwPiSicw== Received: from DB3EUR04FT015.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::40) 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:12:05 +0000 Received: from VI1PR0301MB2159.eurprd03.prod.outlook.com (2a01:111:e400:7e0c::40) by DB3EUR04FT015.mail.protection.outlook.com (2a01:111:e400:7e0c::453) 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:12:05 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:1970401E366D578A15EA79A7EB571DBC6AA1BAA09F3B0D359620639E7413099D; UpperCasedChecksum:07A46BA7C6DCF8E1024AA99FCD743088154EB190822E375A2C3165542B2A81D2; SizeAsReceived:7620; 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:12:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 May 2021 07:11:19 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [eYTpD84ZJxjJmxVZe/CFuVuGnNP0laW8s+ce/W1XOvM=] 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-20-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:12:04 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 69d5cdcb-243a-4268-2c59-08d9104d7ce8 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNX1vi4Zzd+e+UNdoYIlAK0SyrLVZYZfPb3hgcdGwpXeQrvcE5G4JhGhJBmePOBi61TEhdz/NXJdo3XRWuXWB2SrAG8VsJwNiPi7Oz8vmjHFeQyyAm+rx0idmZVaSHgfqplfP9NVjrW7R65BjPB0lT9KkEp+CfXHTnJd+XtQsUPPRScYprA+i1gnZWp0ENZi7sWyp6moe8vPy75jz7+h03EWc8inWfHJVo9MY6cBLoLRDznzye3r6+qyrknWWbWWeK3kgT4zvmOvFUSqUyBE2e5j4Jn19VggUk6l3bkD+7FisPsokblLWVio77UGcGxJiIszwX694IFQ4hXVlevryTqO7SyfkrKTZKh28WCVSUda4dl3IySCKctQ8cPgObSbiKfveVL778R6eJctYlg+O7P/Z/7GUvL6G4Uyxsd2I5lHTL5rS7dJcyBfJms3qER8CLiLhlTeiSQ2uuNMh247IQI8d3N7MIEjvYZs6iHR+fxP3Kx1W6zzNQXo/AYCfPH693CtcMQ0sCpHpr0SG1lzRqfJqSd4adUY3Nc3/pakjTFIeqNCDFY9WaChobfmSRvpYsU7zRPLASoxX0jYTCnD+AFkTDk7/h02p1kuYR3cqridqQ6v2qk5QEt9FwLKION8nnKMhOMPrDxVAN5TCIkFTgEqVGEV/amJdZUTYNUc9dzDs+9mwSyowXh+EyJZHJdLf1SdwLJ6rDBTYWtEAwN6x3JwzLyZ7HB3Z2I= X-MS-TrafficTypeDiagnostic: DB3EUR04HT198: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O3/NKmoN+B7Wx1Qn3LIlPC2eqUpl8aCN/uFe4hpOIAJ1BLnrpZudz4YyATYxCb59OaYSzV7W5jhRpSV8ijNInNN/PwmZvHe5ZZBNcHtTvj4kKLCE/GHdACKFbGQagonpen4f0O98yK6w+uQn5accs+SolV8ynfA64ngQnnkRfEfeGCGtfe1p9MBiIavSWB/wyIUIu53GDCqVUFoSXhv6cI4fasqP4xPnaFeidhAWe/ocazL3J1fih4L/1MA1yDAQ7smpNwsZ8+n2aiBurMA2BA4J6WS0dvTX5svR6CTybVoVxfayYf0Vlmlp83imPlhf7pJOhVxsM2eNI15owpDVEKisTD5ZaZglvffnTBZ9+yFHqVpxpo00/jqiyoBPfVAAY+JlXRtgjrysZZ5AmMjgfQ== X-MS-Exchange-AntiSpam-MessageData: i3ZZrXR8r+uXYWF7UCF6ASbm+2k4Y4P/XcPHdU9qJlqEvksb0UYFQ/G5iuuk5/mHbGBJECeyEISKJrwKkOrstF/a+18KTB08wwMnUVuS0S6eA3XzUhKbqiuPsDwKJiQwdVXJh9t68J61GXWfof1M7Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69d5cdcb-243a-4268-2c59-08d9104d7ce8 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 05:12:04.6111 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DB3EUR04FT015.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 21/23] avcodec/dnxhdenc: Fix segfault when using too many slice threads 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: 9ll0PqFrn5oD Content-Length: 1350 The DNXHD encoder's context contains an array of 32 pointers to DNXHDEncContexts used in case of slice threading; when trying to use more than 32 threads with slice threading, the encoder's init function errors out, but the close function takes avctx->thread_count at face value and tries to free inexistent elements of the array, leading to potential crashes. Fix this by modifying the check used to decide whether the slice contexts should be freed. Signed-off-by: Andreas Rheinhardt --- libavcodec/dnxhdenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index 7f18aff66e..1df5346e62 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -1337,7 +1337,7 @@ static av_cold int dnxhd_encode_end(AVCodecContext *avctx) av_freep(&ctx->qmatrix_c16); av_freep(&ctx->qmatrix_l16); - if (avctx->active_thread_type == FF_THREAD_SLICE) { + if (ctx->thread[1]) { for (i = 1; i < avctx->thread_count; i++) av_freep(&ctx->thread[i]); }