From patchwork Fri May 7 06:46:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27634 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp273364iof; Thu, 6 May 2021 23:47:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1QlewtZ+Z6d/yhw9WfMzmyLR1VZDW56cVbnZoXqeCX4qxtaTEJ5tMwBqQUGEgSaap+8U8 X-Received: by 2002:a17:906:c57:: with SMTP id t23mr3105114ejf.355.1620370056184; Thu, 06 May 2021 23:47:36 -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 g24si4519553ejd.476.2021.05.06.23.47.35; Thu, 06 May 2021 23:47:36 -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=MJnIN0bT; 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 990D86808E1; Fri, 7 May 2021 09:47:15 +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-oln040092069013.outbound.protection.outlook.com [40.92.69.13]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7C0C8680843 for ; Fri, 7 May 2021 09:47:08 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B89MhsvdPM7TFjn/gPnTXjXA/0QyzG5+dPAU7K4FptmE9T/em+a3fXaYUphYqV+XqZ7UTY59AeavEK6/xIGeFI4Pom7MKw9lkRQrQAzttpdPzrT1pz5OkjxmhC5E6D1344Iq//0ILekFlJg2cQttIhXZfNhnAAAUuZl/Q25iLzieSnNLyzmO3SXU8aQZddutA7b+foch1VCJoHUottVj464ewg/fwVUGk2s7sSlw0exDp0GQZJymFEn5MEMCF/94jWRjaqQHx9ZAxUxwLtNqBeZi9H9Itz+b5OImHaqQIv70UOxv5E5UZLaD3pvOMNpve5SrPMSD+dAfUHHN0qJ0aA== 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=22UvtTfL87FJ2FpXq05uDr8ulVjfaM72TwJKwdOgwDQ=; b=CmWi/63C1872dU863b72P1VPi3E4HRMKfUPPe8k0PxprbsBcf1Fa66f+J8O3CL1WYE9ws5p32950eN63LgFSNTXyyooxIzQQtP8Md868KjWhmr0oLooN5Vvnm+66obzlELcAeDLZIxfSc60iyJa5IR5I+xkRPKGZf4ko4JJnAx/C1MW18S+XVyYI0DLIOqyaiYEHHSYJo29xEeHHJ+iCWfCKSYGBXgzK0mt39uy2spnFKrqUOyJoDZ4qbYcRV2wfuOcAhYytvfXbD2xOteXkXhzHJSO4vCKskq3BwAWosFy2IawbWHVwXkx0iE9YAZkL64mikxb/hRK4jjs/424oIA== 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=22UvtTfL87FJ2FpXq05uDr8ulVjfaM72TwJKwdOgwDQ=; b=MJnIN0bTnFFMwbXK9TUEacfEbzjbtpu3XeTlMgWjEtUMHvT04PqLefb6haQdOdY+GtXo9+TFuKDg2iNDTPNd6qaCsXmlrHwNyQFen1y/0ww8IIz+aNGZdbMSzL5IlpM2OZA/hLL6hj4iwIhAr5fwRQYUyFxxCbCLF7qWFH8vKRU6hq65/g7G63CwrDIVsHRZTlkD8IwYKsX3jpE7vorT1fPy4FKQe1L1t0DKRaSPHsZgVuskBJhbJeZzCDqsfXWRX/dC3O/FIsMPmh+Qb3W4lEtfGDteDJLPawfgdqA9YhREAaMqeFQgd++tJZZGZFofeI59W5tykmiWAOXoyIv6FQ== Received: from HE1EUR02FT024.eop-EUR02.prod.protection.outlook.com (2a01:111:e400:7e1d::42) by HE1EUR02HT021.eop-EUR02.prod.protection.outlook.com (2a01:111:e400:7e1d::472) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Fri, 7 May 2021 06:47:07 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:7e1d::52) by HE1EUR02FT024.mail.protection.outlook.com (2a01:111:e400:7e1d::181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Fri, 7 May 2021 06:47:07 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:BC20439B700A6EED366ECAA4953402A672A1BABADC17C9166393724AD2B20F6C; UpperCasedChecksum:52F19CD3D4882936C00C4B6394A095E0992A87A5AE799FEBDB0E0D3394F40371; SizeAsReceived:7601; Count:48 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::45bb:c44f:2b75:23b7]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::45bb:c44f:2b75:23b7%5]) with mapi id 15.20.4108.027; Fri, 7 May 2021 06:47:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 7 May 2021 08:46:32 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [KP1FGlr8uHqNhaRQxcxis+sFs51S2fB0BDRFNLUZ4yE=] X-ClientProxiedBy: AM0PR06CA0117.eurprd06.prod.outlook.com (2603:10a6:208:ab::22) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210507064647.362502-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.193.170.150) by AM0PR06CA0117.eurprd06.prod.outlook.com (2603:10a6:208:ab::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Fri, 7 May 2021 06:47:07 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 41bbbb0d-316c-4fe0-4383-08d91123ee80 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWUr2JHLiAqcgwWwb6KluLHCD+F4/lZYPJetHrna7t1eaTbM6RQc4LZB69d7wPP7fuJv//vKKHBAGV8s80hfPJrJBfVD6g8bRVd8en7o7E6ijJLnbBHkQQIyk2HuhsDXEQxROUNDCsBy823IJVK31oJBDO5cLo8v/SqZxE1oW/uLTXGneRNEh4PWjzAinCRHscfDqZOBRFG/5oljCtWptNhF36/nT2oxKDJ3Ohcl5Fsbo9t4sm256jZkUTzNk8XMzcgW1Jid+sZOo8xzduxUMFoAHGZYMjLzzA47KmMuAIUfFxW7HYJTv6XTLUJ9Kqp3dlRbNgxfBZFw+tEEoJHP93YJmHDxdPQFna8g2rX8bb4AKluHe/dinBdSRy8EE4qR//C6NhgezDa0DH5RRrSDtXa0vVGtTL3b0B5jvxgWU3A+McOGfwlTr4KapPYCSWyDda+xUcaH22u1okCrgOlT4Vn0DxARyRBLouYQMMN77wmvfJGy/1chSSeQTjRTWG1uGOoXOqtphFIon94Y5X28LAtN7+NcPs9DHKTPJ9pCKbDF5x+3bOcsrXzP0pkPh4/nwCfS9rSwzdjKlZzfvA1JPFq62EPSCyJu0GvIcRJKDMupaio2q31q62dKJUX14YVzZopga70FtHZxFTzYHTN6yz0Gb/bjZ1E9kHjZq0axCsnD2uY2JoDFOExarnTFKsda4JYYSC0uBUbrh85Fr2K8K3ia00/Bwsm3EQ= X-MS-TrafficTypeDiagnostic: HE1EUR02HT021: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G7I+LrYSnmglml6X5YNPVu8x7CgEoV3OKXM56PNdishdrjCLaZksjVxUTAOtUr2u/vjasH8eDqo9921Fqdc9upqZ41aEgdYdKjjtLPLy2vfLhOfDur+aDAV2nzDKsGEqx+2PX3Dwi0F7lJdifHzRLh/8gcpncJ4mFLCL35Kn4M0dr6/gfrR2jfjmFmqDHLHLgCoVjSZqANM9hPHGp3eEfI5TUdGc9xt03qkQgT0UntFE77hvh7qRu4XVHdffNc0uZLXeNbgjWBzGsvDg1NSSkWPL+iGHxydLxQK40Z8ytw0vIFobjEp0BAJPGr50oyB54WkHlnESXGbCQWtY4Wfr8BQ7CGqNb6wHpCpOo/z003hY3UAi4E3nFZTjTp9p+FKgbKX+EoEUPVDgDF2If2H80A== X-MS-Exchange-AntiSpam-MessageData: EN2CoAJbLVkLJJ+7CyN2OJ4zUiVJAknJJoJx7MuhzHO8BrITRI1XtRVs8Hd+x2Oqva5PMwP5KC4/Warc9QKOgO4nnikbAowl5EPvfY7IBFOUlrBr6aH9ZFPKu+QZFmT/+WK1eIgCWmA0Z0DmWOwkNg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41bbbb0d-316c-4fe0-4383-08d91123ee80 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2021 06:47:07.4925 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: HE1EUR02FT024.eop-EUR02.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: HE1EUR02HT021 Subject: [FFmpeg-devel] [PATCH 05/20] avcodec/wmadec: Check operations that can fail 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: Q1nSjuY1ptBb Signed-off-by: Andreas Rheinhardt --- libavcodec/wmadec.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 6eec85e59a..47abcecc9c 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -106,20 +106,31 @@ static av_cold int wma_decode_init(AVCodecContext *avctx) return ret; /* init MDCT */ - for (i = 0; i < s->nb_block_sizes; i++) - ff_mdct_init(&s->mdct_ctx[i], s->frame_len_bits - i + 1, 1, 1.0 / 32768.0); + for (i = 0; i < s->nb_block_sizes; i++) { + ret = ff_mdct_init(&s->mdct_ctx[i], s->frame_len_bits - i + 1, + 1, 1.0 / 32768.0); + if (ret < 0) + return ret; + } if (s->use_noise_coding) { - ff_init_vlc_from_lengths(&s->hgain_vlc, HGAINVLCBITS, FF_ARRAY_ELEMS(ff_wma_hgain_hufftab), - &ff_wma_hgain_hufftab[0][1], 2, - &ff_wma_hgain_hufftab[0][0], 2, 1, -18, 0, avctx); + ret = ff_init_vlc_from_lengths(&s->hgain_vlc, HGAINVLCBITS, + FF_ARRAY_ELEMS(ff_wma_hgain_hufftab), + &ff_wma_hgain_hufftab[0][1], 2, + &ff_wma_hgain_hufftab[0][0], 2, 1, + -18, 0, avctx); + if (ret < 0) + return ret; } - if (s->use_exp_vlc) - init_vlc(&s->exp_vlc, EXPVLCBITS, sizeof(ff_aac_scalefactor_bits), // FIXME move out of context - ff_aac_scalefactor_bits, 1, 1, - ff_aac_scalefactor_code, 4, 4, 0); - else + if (s->use_exp_vlc) { + // FIXME move out of context + ret = init_vlc(&s->exp_vlc, EXPVLCBITS, sizeof(ff_aac_scalefactor_bits), + ff_aac_scalefactor_bits, 1, 1, + ff_aac_scalefactor_code, 4, 4, 0); + if (ret < 0) + return ret; + } else wma_lsp_to_curve_init(s, s->frame_len); avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;