From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 2FF6E422AE for ; Sun, 16 Jan 2022 23:04:22 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6E1E868AE56; Mon, 17 Jan 2022 01:04:20 +0200 (EET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075109.outbound.protection.outlook.com [40.92.75.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6F0AE68807F for ; Mon, 17 Jan 2022 01:04:14 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CpPUpmtBEITByL0mYDxuVKH54Ky9KcKWgfnZXcZjx1rOSB8pdHoT+a3G/Sia9W9o82WE66HlCoI5ZQSlKm7i12N5BYcLBaWbkyHQq7cJ5KxXbErpJKL+SnfEKGaZE7yUDbFAwaoYHRQ90PYsg8OexUf3rFh+5G3Xv/DTIOYJ5/Wjc2mgh/VTtOKetSTsyI+zzqIC9av83MPJdR4Mb1UjCXlbRbESxEosed7jcenIa8FOMS3W3cElzhFcqGju7r4XNGMpPiVbix6HWzHf3wCkIxh7E3LbgpFLxTXk0fcJn8G+YhWEDrnK98MZ943685svlF4tuOEquMbohL6X0X+vWQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=F++kil6itOCifgszEUycj6m/Cu38AQLlRH75QrBrfsQ=; b=RtcMbIgqlIFpFctdeFVPOksyQYyCjlpVAPWpQ/BSiujF0sVyTXuqJWINPSaJ9oJ5Ep8frrJqj9FGI/iWYYuzxwxUDxbUBbk7sfItbt7Pdq5lUl6S73Nh70GdIA2A92dRFZoYhwON/OeSj4oHIn9pG2ZQ7HfjOzU3zWa4jZ+awpP9qxt7Y3LBhW3nOHVts5FO8DE2kx6O0Zw8myx0Hc8DGszx110XMAA9HpSlfkGHmT/nUYwn2Nh0sv7LnQ7MJX5u/ILahX30bAzJA9fYVaBVLS/tggWw8Lbr3nEs7XmF1N+xObEOn5IAhrXodPx9T3IseR3HUYzF2loW4Loehjs8Jw== 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=F++kil6itOCifgszEUycj6m/Cu38AQLlRH75QrBrfsQ=; b=QHL5ZWwza4O7X9i3BG+9Kvr/v6i83seBFrjoimG8Z79Lc8bV2aNLGBPyHV9K2o9poSCTVPaA472vds++EFenJuREj1ig9VynLwMHu3CljDBzX+x/NubqI9NQCBKIULcDX9xDmrZi1R5Xnlsz5ig+cdWbz92r4yhQhOaS3XxKiA5BBRbahSEmzhHxAXe9wzVp/xlXc2IoLI3BTJqcu6uHdgh6rsjluAX/Fomg2EQRk7Tfcsmq6ToIgtnogttzMsuDg6OKoLXQyFzB5YBXoe6QR7cGZtePBxJe2UJtPeFSWXRpQwiFHH0156pwNjnQPKGovMZ7jWFIuY9JQ6alhYrL6A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VE1PR03MB6126.eurprd03.prod.outlook.com (2603:10a6:803:113::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Sun, 16 Jan 2022 23:04:13 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5%9]) with mapi id 15.20.4888.013; Sun, 16 Jan 2022 23:04:12 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Jan 2022 00:03:42 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [ZHuMq+ziraz0Hjuzl/kKgiKYmrU9xdjF] X-ClientProxiedBy: AM0PR10CA0070.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:15::23) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220116230405.194506-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3e773956-f6e6-49e1-13e8-08d9d94482d3 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuZvKHt/RRJ4O3wxWCrUcc4w1PFSmNcPIAOdnZbNspMO44J3VCQwhkING6tOI3xs5DOaUpmk81GuUNN28UgPJi3OAhUrYK63W3eMXbP8JwdCbW7PhD7cl/CXFifOUnGZhZa17xaRwyXjthnstFB00mPpuKVr7OZE2ydE9PTXok5lZs8V8t9aTgUCqHWXjbFBR5DlyXn319S1spq1Gu+SVYYOrL2lL9ZMPmHTrnOTMp/vK2NWb/OyC0ft6hUGXviWz9XPjr/Onvi7nn+qtnS5FVAkf/okiFxvPVpmdjD06/TT/tVB6hvBv2pegzAc+EyNaIlRBTLgEIfDf4uugHDV5pxhPL02/jNHA4kerAreMJbkfaWML88gpwho4+j8ghgrolJDHmMkSeXnhxAC2UczyVZPeb4EaW9nsGIHRSI8uucMCmoP6UktFoz5nL0zZtPoJV+Zwy9qRY013pds/Y8Iqpewor04EPwVr6WiAmRBvdACIBzG2/L2BZl2PRAKLzuDhkR1oST0WvRyzT+CI9EzUyugp2m7Syl2NJalhpgEgX1PtOAgTfXGuyxjzc/HIX3/Ck2FxlM9rxom0K5dmnzuU55m7xVCXo47dnuqkWy3iqf6DoA3BcbrWdYDhNNLL47D6BQ4e8l0DXpQZBkQG0+4TkXEzvUjVQi72cCu3KzpxYyPqRP+gKrDD7947gwEZpnbGC1ZjUqcJb+Hc1oozeKTekiwPHyNOfAmN/956bs7iE00r+3laFtYcTdd7khK+8GxQEQ5viNEcTewNhbpIwXOlMy X-MS-TrafficTypeDiagnostic: VE1PR03MB6126:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cQ8gxSSpx9M+++2cKEkaWnCWY0rJVHwWK7SrObIKkybyRwJmStcc7wWY4VQB5WnkKXi/5W2E+MRyPZeLbMWlWNfKaxge90nElCKfnZWANLiVShUYS/PMi3c742jRlOE+MFErrIcOQcetIXprSAsOEJ8TQpiv/65kYF4IkHCYazdf6Lg6gQlePlyy1eT1I82lwTB53w504zAC7TYjFqOsQ/j8VM5s+e1tUchilF+X8oGE0d43NkyXuM+LZ4J7Zeq9ElYZ09dg23YVXI6OvDN+StVoS5w4PkEqQeSbVe1oMV+T4CF5tg0nlRFtzoefjvv6B7Lfq+opVvNYkjDthDx0kIQSE24fY2f+Swtt4kGzw0VZZAeQmVRyUbtCcYHxMa0hyzIzQUxC7GEUiMMuJg2D5Cs6mWMRseIX/lbGRWEHftEZXs6AUOqjgJWgGIvXKMtmOGpt3dK8wlUBexIZ8p7s7mr/wDkUXJ4y3DhapzHACuZMkYOvvDD/YLaJKVLI4RaETqck3CD2zNVb3wdU6iMo162nkm030HKYGQNSkX5gQpCGDlDo5EOqJwoBIGawmTvqmf+Kv7+ZYW5trYIvrjMfqQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BcAduOsEoCpXmEjiG6YA/6M159PuuYFw1iBZHVeLjJfq6iyg5jTsWRVRAWta?= =?us-ascii?Q?rhg0wvmi0wu1iZ8N+qhPNvgsioZskBm1SgBpNGKJS3jYoqid3g+/3iRv07L5?= =?us-ascii?Q?Si5DjMEMFpSt42qB4H+zJ0lnSWzMZOqgkP8MO6qbaCyJ5Ny492AgkJouIBXc?= =?us-ascii?Q?5fZimJqPY6HCcuiAo5QJDjGOJBRppK/uPdj4pl64RXi1vtXHLMj4TIuzfJvX?= =?us-ascii?Q?2L0KV23NXTCuKJGQNtECysyWZSpQdIOwD89bc+X1vJsfEq+AdPiWpx0rMW3b?= =?us-ascii?Q?oUK/2RxJOYhOfoqj8wyaKrsG1QYVbV9aB0qEOezHy1SDZYPeYce+RBfoPT6Z?= =?us-ascii?Q?A5KIsd4pY7aDgYucmPSUeQEzx/bXX1BGqxd7KYsE3ZQDCbVcWHjbl1UD64CE?= =?us-ascii?Q?eHdefNzf48MpqvqAjvrf///i3WRqkd4guwBkv42QS8+lPg/r+XBJCl0p5lX2?= =?us-ascii?Q?9X/hCM64MLYEO11fbLi2WeWeprGE4NYwnhJdK6jzJmXlq3QbDj6r8NswuXRD?= =?us-ascii?Q?1h9DqOrYTipjKextw3htSnRjbmWSJ1Pv9aVbuZPENjosJzpfUTF7x0yguV3r?= =?us-ascii?Q?frhsv98pNsFSQnNIvRTbdxYuUTrR98ugI6Y1gFsWTR+0lMKr3gHHRS0xFuMr?= =?us-ascii?Q?fC6lYPbA0wWRNglK8C93TbaqpskvTzpqaA5pmZ7KmjaVpENoT66ROynppanD?= =?us-ascii?Q?fP+uwjj5gmM9Q+CxASmhlbLJB+E1yfLbZ2HY1KiDEBYZB7KeVblrC+OAJn7F?= =?us-ascii?Q?HYeDPf2BakAoVxUP+MKDcDHYkjdGNKqjQQY2GegCOOabPrQynQXvFp07rG1A?= =?us-ascii?Q?XYtLJ09mh3oFxm67Hwr3kBwmwaBu8K6ptjpb3sE6KByLnQAjvekmQQalsFTX?= =?us-ascii?Q?PwqMZKQlES7O6MSPdQhkBaFb8rs8aq121v6doEGYyoqfNRke16TSByYEGgDf?= =?us-ascii?Q?6vXDfm/dI6u8BUVYmGhNTA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e773956-f6e6-49e1-13e8-08d9d94482d3 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2022 23:04:12.8165 (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: VE1PR03MB6126 Subject: [FFmpeg-devel] [PATCH 02/25] avformat/matroskaenc: Don't open BlockGroup twice 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This would happen in case non-WebVTT-subtitles had BlockAdditional or DiscardPadding side-data. Given that these are not accounted for in the length of the outer BlockGroup (which is a quite sharp upper bound) it is possible for the outer BlockGroup to use an insufficient number of bytes which leads to an assert in end_ebml_master(). Fix this by not opening a second BlockGroup inside an already opened BlockGroup. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskaenc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 1dde12a7d9..81194fd28d 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -2095,6 +2095,7 @@ static int mkv_write_block(AVFormatContext *s, AVIOContext *pb, int64_t discard_padding = 0; unsigned track_number = track->track_num; ebml_master block_group, block_additions, block_more; + int blockgroup_already_opened = blockid == MATROSKA_ID_BLOCK; ts += track->ts_offset; @@ -2141,7 +2142,7 @@ static int mkv_write_block(AVFormatContext *s, AVIOContext *pb, side_data = av_packet_get_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, &side_data_size); - if (side_data && side_data_size >= 10) { + if (side_data && side_data_size >= 10 && !blockgroup_already_opened) { discard_padding = av_rescale_q(AV_RL32(side_data + 4), (AVRational){1, par->sample_rate}, (AVRational){1, 1000000000}); @@ -2152,7 +2153,8 @@ static int mkv_write_block(AVFormatContext *s, AVIOContext *pb, &side_data_size); if (side_data) { // Only the Codec-specific BlockMore (id == 1) is currently supported. - if (side_data_size < 8 || (additional_id = AV_RB64(side_data)) != 1) { + if (side_data_size < 8 || (additional_id = AV_RB64(side_data)) != 1 || + blockgroup_already_opened) { side_data_size = 0; } else { side_data += 8; -- 2.32.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".