From patchwork Thu Aug 5 05:42:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29257 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6c0f:0:0:0:0:0 with SMTP id a15csp96908ioh; Wed, 4 Aug 2021 22:43:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxf+RHrd/kvrZ/334ZXkmIUcBYR2/ygCaPMNIvrbxZMP3dRsSleqiiyS01O1cb681awvGPf X-Received: by 2002:a05:6402:514:: with SMTP id m20mr4270266edv.116.1628142208040; Wed, 04 Aug 2021 22:43:28 -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 h9si4092223edw.170.2021.08.04.22.43.05; Wed, 04 Aug 2021 22:43:28 -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=tQuEj+yq; 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 137CF68991B; Thu, 5 Aug 2021 08:43:02 +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-oln040092073092.outbound.protection.outlook.com [40.92.73.92]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1164368991B for ; Thu, 5 Aug 2021 08:42:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QmJT6YT74aIsH9/BcD1DQN78PR7gfeBbwW6o18OceW4NDAsuWHqqaE9cbCNYApO4EST0dNsETSfBYZmCNfbWj/kJ6k6wXLc5uJnuj4yn3g2g3rxWaLQWsHghCNXdZ+Fad9lkh1o4lLrHb9G7wwk9HKslnAMIKLdGa3Zkx8CZec0L0obh3MNHdOGASE3bcm1SRU40ZQ27wSMDLAC4WgMKiZ2iMwLQ5KNMsPQejWlVxRozGNSb3r3OasggPloh8BqbEPR6L9VoZ7eXl/fCBgWtXUsSFQtTahf9JzAIjoxOPvhlHfQoUxi3QaRUBWvjyfP1nT57QsTc3/9Gx6eM1zeJXQ== 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=mQD5NTly4SE4b4zUdX2GfsvR904X6/8ffdeJfUOemfQ=; b=XRttQFK7k9BeDzRUi3q0y5TZMxvOkAdho+xeW16529nEpHwUVOHjDLej0I8Mz9PPV3D1JTbuogdjUxleTPE/51nMBkfXkXvL+pvECbRGoPtEoHVQp0RHewCCLmLkF+yyVBpTv6DrDLeaq3bSeccT34JFOJIzrFLwVMim9oqlWuOb+1pz6Om9SCaghDFbx5WDrytHdxJmtbriiZqvAZN2eCQJJ3K1rPMkF3ZeNQz54JSD7eOKhIdDfXREEzEzD1DNkANPYCRUyS/O75xpN3kZSF+sDa5rMbDwTQi8W4Az2jlH7G3DxSiYPK5JcCNapLftQr/sKK2Gaqb6t26u0r/Jow== 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=mQD5NTly4SE4b4zUdX2GfsvR904X6/8ffdeJfUOemfQ=; b=tQuEj+yqzFBx22YZFpZtLPrYbVBVNdynAJvcNKzHmkxnC4h+GtN1HLEjpbm720fFJKlyJhyKcGBCebDmOI3dSMUpbLIv5KEvBb42qvI+D3dzUE5aCJD9NlYlOmXuCkZg+QUIX5u+8CsXrPkpnASZ2I2w6XzcqgrLAqDKmrJZZNRbKxm4cwKrvcetHqT+lnZLJja1CkNHWlCo5Rkax42+t7pmyaysSwLKhxypClCeJJQPNMALV9AZ+8e+uTR7+HUMpZKdhoAdq9zjExxXfD7rzR/dH37ORFBkvmQl4uWJ72APYddhGhKCBjbpR81935ieIrwLbBlVUeMVRA4nX8zOzg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB6888.eurprd03.prod.outlook.com (2603:10a6:20b:294::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Thu, 5 Aug 2021 05:42:54 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::c9b2:14f8:d555:6f2d]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::c9b2:14f8:d555:6f2d%8]) with mapi id 15.20.4373.026; Thu, 5 Aug 2021 05:42:54 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 5 Aug 2021 07:42:37 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [N6nKWXxUUZpmAfjnJsTu/gv4G9r79WuB] X-ClientProxiedBy: AM0PR01CA0164.eurprd01.prod.exchangelabs.com (2603:10a6:208:aa::33) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210805054244.2094251-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.94.230) by AM0PR01CA0164.eurprd01.prod.exchangelabs.com (2603:10a6:208:aa::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16 via Frontend Transport; Thu, 5 Aug 2021 05:42:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9c39426c-6a55-4ea8-d4aa-08d957d3def0 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEvXz/Cg0Ir87bEks07/0c4IuC0aWFxfqjFyd3ktvWf3DnenoeJSfnDiLGHqXOSHoASX1gk4DWhZoL2+E5ygo7fQSGaKEIm3itWzQFvSCgUhLSWolYCYtwlu+q2SHo5c84tu7FYmTnoSE196BXR+KB91twzdZUmOl83a18tSI2aCCRU2stgpbC5K9zTUE5FLnmxsYvjvKSaTeMYGX+nEnGIYFVyp7c33JM1n2cKQsvfYVD5XfBNbWaH1AvPDav8WcKnntc7ad55fsoZUzBDrbN/QUr1TNZ3mqDiX1uRyF7mvIiNgjAlg5FPxuA3CWG6UBqpWvW7uLk2ceAibksIEib7jYaavAVOMtlZCg0WZaTJEsPkqROZPVKJVmRtka2CxeIo9XUMIpg7soIxcV8BZuLWUTsmDwgHebeSjpoFbkZ9jrrsgDSasVe1L2uIBwSUyHj7c0kkPii8i/tGhym3gguqsgxRHcTEv/JWa5QszUFCdWjkaY1qlfthttiVLn6pZbQGVZgOlaT+TF18IEhbGZAd84pFPYGtHfVHOVw6W66EXZrBBBN9BuLII83dNRx46pwKjfpzpYyhRJiROuJSrLrAyw3RqOtLW1oTeDc4K1EDiL5Ve7Tnn77YkQ7Ueqbmoy41VrCrOpCAWX4g9hdrRVEHk6gD3XUCtwzqvn6FjKANsuIuCFN8hJQJpFz58+eZ3Q+8xMZxUk53VJOObAeLxSlHYzrfB/iH3fn1+j3wTOZrWucadlC0ULcVEy+5SOr8DSQG4DJtD6RzsWw63k8ME2Q84 X-MS-TrafficTypeDiagnostic: AS8PR03MB6888: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0LlH35K31SlYL0pReLgyuMdZpQca1qNFcAg3c0C8REhxFPq7Mp76M5hARJCdAlEhuI2AT26v+wU0rGYzYfJvduxzNZXzCd5XiegeXhg0Ew2N5QNwR0u4WoX/D7kDJHtNSytUaHH1n27WO4N0q3RQ7DABym8slnF+tW7xdKgsA1WiPI4Rhf7mljPoAnfmJSDQ300muYk7xw/TImcaB2z5NQDUuoPsroOA7pV915QbG+VKaGknTKKM2h+pM+b2bFq3AmzZxBLKxlirbkqFvfBYg9P9QBCqpN6EK9AbQ2RRacSvj0pLO1wCGLa19c5kcM4x47+cZMg+gDLYN0c3hMbvYA9OeGOey9WiOQy2ox7NJoApEMd3kMXiD7oPtzmOH/mUjx1Vo4EkqW6zFzJNwqUxXGCmdaY9GXFHeHW+NN6QCr2m9t014CR26Y78muGb/BF6 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rZvTwxELEirzS+EkOyFc4ZJxMsIQ0OhVodhYAWgtKCw/P8twNTBL9WtxaRAhE1krdKb46AnNF73bbu4KwTWQicZj/FfRgsCKKPTrJJ2HH7prXWTvF7FxgA0FGPplyjn4NODRcbZdAxGrD5umLjvBrg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c39426c-6a55-4ea8-d4aa-08d957d3def0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 05:42:54.2225 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6888 Subject: [FFmpeg-devel] [PATCH 2/9] avformat/matroskadec: Read RealAudio extradata directly 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: ubM3Oa7Lgsj0 Don't use the avio-API to read a few bytes at fixed offsets. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskadec.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index fdfcc86aeb..1977240cf9 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2660,18 +2660,18 @@ static int matroska_parse_tracks(AVFormatContext *s) codec_id == AV_CODEC_ID_ATRAC3 || codec_id == AV_CODEC_ID_SIPR) && track->codec_priv.data) { + const uint8_t *ptr = track->codec_priv.data; int flavor; - ffio_init_context(&b, track->codec_priv.data, - track->codec_priv.size, - 0, NULL, NULL, NULL, NULL); - avio_skip(&b, 22); - flavor = avio_rb16(&b); - track->audio.coded_framesize = avio_rb32(&b); - avio_skip(&b, 12); - track->audio.sub_packet_h = avio_rb16(&b); - track->audio.frame_size = avio_rb16(&b); - track->audio.sub_packet_size = avio_rb16(&b); + if (track->codec_priv.size < 46) + return AVERROR_INVALIDDATA; + ptr += 22; + flavor = bytestream_get_be16(&ptr); + track->audio.coded_framesize = bytestream_get_be32(&ptr); + ptr += 12; + track->audio.sub_packet_h = bytestream_get_be16(&ptr); + track->audio.frame_size = bytestream_get_be16(&ptr); + track->audio.sub_packet_size = bytestream_get_be16(&ptr); if (track->audio.coded_framesize <= 0 || track->audio.sub_packet_h <= 0 || track->audio.frame_size <= 0)