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 43FE449A5C for ; Mon, 26 Feb 2024 21:46:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7D95E68C7E5; Mon, 26 Feb 2024 23:46:42 +0200 (EET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn2075.outbound.protection.outlook.com [40.92.66.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D8F9468C3D2 for ; Mon, 26 Feb 2024 23:46:35 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PNipBU6A5XV9zXIjzjX81ZnlKdjW3rIJYL2lyMLj5PYN8NNhgeI9ZlpZZ9rjJrhHCxm+1DAI1nxYiQS8MuiFYQjFKW4oyHqVSu1m9LuswMXOeFA69yI3GWrsrutJnglZEir6HO+zci8sZPQP5pywO0u1pS9E2QrU9aLvZvnkx9/z/BosBeyP55RlTYtrfAYUiT3QoWxVNAPhkSN6M75NvrtlOVswF6+t+Kf9FOEJaXWPARpjfhV9cy6R3TlhG6dXWYUFUX7DBUgYP/4wFxxYcJB7mkoAkrECdqvlomyj5eN3HHdNak6J8eRsVKqT72blxSoPrnAegDG97VUCPgbaow== 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=Hr9hjXydt0adYH5b9Mbhegfw/6CXNh+YuHyYfq0N1GM=; b=RYpiL2FBKV5rt3CBqkOm8FmBTTpvJfy2MMLR+eiJbfXS45ciqqEl6i0d0gdR93LDcMOAXjXRRFon6nFzGWZQzu6fr8KBkJ6e0N28NxIIfiyZLDYDw58wVmQRTLggz0dXvOkiVPD9ux6q5hIDuH/j9sCkIEW+v2OV9VICto6/5PmpqeraGUQlF9IaLwcj3k0gpmnFrwOHQN1QUVnRNFMq+H0A9MaNSeZmfJMdUIk5KrGoYHCeCY36YzWBlvnmxHTVKeozx/uK1s1Zfv3a7LD7Ord9Ii07BAHf5PP6UhpZxBMGtWa52on1yDXfo5yDzT0BDTtKdSbXrgLIFfkDP2BTBA== 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=Hr9hjXydt0adYH5b9Mbhegfw/6CXNh+YuHyYfq0N1GM=; b=jrJNMNtlYILdL/ayjA2RHebtcEBUZMquC2RD0DkB/NXd1ty1ynNDKSDZ4WMBwpgU4IVLycw3c9nOO6JlbeDeA5BDXyRyyGe5rxd09Th/k0rmxY4jRUgr73VdL8LVjlBspAc4L3KIfOCTeqkG2ZOPvmfjyQ0zw9AHzdP45DTeuKhy3vPqu1FXvxS8NVxyG0IlgBqhDkl/qDDj5+h+dSDk5S+KY5ytybET6Nja/xHE+DZ7OHkSzvMEYIGCqmtBBAammxUrAFXj5q6bUF6lsTByPJshvcQlvewKQRnYd+KcjPZX5/9cBt2BaQYBUD4h0wzttjtOp5azn3uXw4dGdpqUHg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0239.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:278::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.34; Mon, 26 Feb 2024 21:46:34 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Mon, 26 Feb 2024 21:46:34 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 26 Feb 2024 22:48:27 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [WM6mo9ltSd4bfsRHUoRjSu/ChW9GnzbN8rHjlrRvi2Q=] X-ClientProxiedBy: ZR2P278CA0062.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::10) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240226214827.173309-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0239:EE_ X-MS-Office365-Filtering-Correlation-Id: 962d6f63-724d-4b2d-6a7d-08dc37146690 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FvKZv/cUBJfqsw0y2p69hJI4dySYg3lSZslRwbu2de3PE4hpw206JFdlV6nebTh8gym+srzXfFBDLQk08PuX1raiYWpXsQjnptJO+SWtDVIZLfFPaKsheWeICDv4l+fNEw9CPdqNEEo8iCvXMs0YgPDskB4K1rbdLCtGnGgxUL7l0vMY8B7I0Mjd7diJlFWfVhr6EgEhMdQDFzU1oxYbprudegmmgjpV7n12Wtze6/ENw4DasX8YqZQOcFeO0kw/8JZ17Y/sJ6hmlPQYVYNbwRmMv0nW6kU7XbL58bksNOMxgE63sBPR59tf8JWCyegghY5jdiOkssQDBuFN0gMmj5kMcfRBZAMFM8YdEt1x4YEPxiLOTpoMWtFl2r4Oy9QTapOIRORNUF6tZfTW10B+XXgqRAICqfkkUvI97banq0xqArCw0l0H17dmczk7os4iSa3movNiMZf8bV3moSxhRBwNZtA92XgRxgyDlAQBjg1nR6czezT0O5rGoqSV+mWQsSCl7YeIsETPs6QGVBWqQqCTLM2eiHwhKX3+qTVXuH9hVrIVnSzjFLZlzYwh5H8Tk8gKbsbEOh74Kv1fC6IlcYl6BMtS1LasNzjEnc5PmifA1CHaMA/xtZZkRkytoSG/ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tpH7cAbq5kNTxZUT3xu2YLctNSVbZ27xkvcQv9VxI/s61GwLB+6/jlraykF6?= =?us-ascii?Q?irOE0DYm6C/WSP6pXgru2gW35Pzd0al8tJ/KMgIc5JeUpRZuIjyGDef5wX22?= =?us-ascii?Q?4vPvMexCMGBE2gO1eywSE09/y4ntgepZdFskxfpQcp3I25iXKi/4O//6YJEF?= =?us-ascii?Q?CFly/cFV8ckThwjv9rFJNOaXXXckmtODKEJwEcrgjff8y30kakaDwp0JTdg9?= =?us-ascii?Q?ovUUYek126YgzliVjrdGLRLPY9aMVW5n5DWMqcwALl+IcQlwhOt2eBv8XU79?= =?us-ascii?Q?EohMRtFjlmVpyxaunbdqW5eFpXD/RzjXgxEtObWnyEFqKcrF3/xqV44nN5Cz?= =?us-ascii?Q?txFV5FrliWwuS2sBVfP6IVpM/1Fknyl5Aj4RG4E3LlOJv6EeoMrBJDnKG2LT?= =?us-ascii?Q?Ps1auKFMwyK234nV+gXKmceV8/9pP2iIwD+oh4mS1wcESKSdNMy9//UYPY9I?= =?us-ascii?Q?BzKzjyLo5REl8aB+bykYqlyIMPiEGE29AJPr48+BlaCihUAaVphlsqXtdNFy?= =?us-ascii?Q?OcQ2y9G2lSyCSG9idj9tvP8D6IJM31qeNBRnw2k5k4WMZMkZU+kUn+0yF4Vu?= =?us-ascii?Q?0fTf4IjAiw4b2wgNhUSafCDM41ZAb+Y6kvsEi/E/sF6XIdKlfLN6zvijVbrd?= =?us-ascii?Q?DWIOVfMgXrSKpRWKDomYnjUR34IgxgEOwjT3pvw2L5rpUtoXzbAei4G4hnpt?= =?us-ascii?Q?hr3VXCqZ3gszMAr1xa0SfSw0+mXgGYIBCTH2kvlfD2DNFCKVsmlA/EojbOKo?= =?us-ascii?Q?Fe5nEsrAygku5UO135svtZ/5Pl5kxNq1APTM2r/ICvixa+mc7Hd2tDpVhmN1?= =?us-ascii?Q?g0hUMCVZLOVdH89SvtsG9K1XHCYVXf6x+PV1e+uyczrLX5Y8HPklXIb9oSqj?= =?us-ascii?Q?ozBJKr92Yfc//QITAf2u/RiijQ53cByuIH4FaMPdkKiW+OsgoRANl3G8dZ+8?= =?us-ascii?Q?AhlIZdemviW6EbIg8bXQLyAl+fWyvu10LliWawS/NWrBIXRuii5S7CG/1pgC?= =?us-ascii?Q?rXU0YoM0SD5gfj5NeaWrMiYyTbZ+DwGTXQvU4xd8y3vb0Ux9NQEFHeG6/pT5?= =?us-ascii?Q?cFEyTviNmLv2GV0AY0OGoje8E0+q4G+dkOGOuMlCBvL3wgeENSg5Q77kn/dX?= =?us-ascii?Q?+kJhZFIOrLiuxZBLqm/Te9DCsms/ooWBUFl6de8uhXS9aNdLAlSFrex4QjSo?= =?us-ascii?Q?vCKJPYM6Ttj6h3lQ+6uoOyHF1tW+bzU2Cvfls1tsLHGWUPGYeeOvkukb6Oqj?= =?us-ascii?Q?cytzVjsP9kBJyr8h9btyppvhvxiR6quORjrZi/3W4Q=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 962d6f63-724d-4b2d-6a7d-08dc37146690 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2024 21:46:34.1107 (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: DU2P250MB0239 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/mov: Don't use entry[-1] in pointer arithmetic 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: It is undefined behaviour. Fixes many failed tests with UBSan and GCC 13 like "src/libavformat/mov.c:4229:44: runtime error: store to address 0x5572abe20f80 with insufficient space for an object of type 'struct MOVIndexRange'" (The line number does not refer to the line where &entry[-1] is assigned.) Signed-off-by: Andreas Rheinhardt --- Could also use index addressing; or a next_index_range pointer. libavformat/mov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index d81e34d100..fac250363b 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -4022,7 +4022,7 @@ static void mov_fix_index(MOVContext *mov, AVStream *st) int num_discarded_begin = 0; int first_non_zero_audio_edit = -1; int packet_skip_samples = 0; - MOVIndexRange *current_index_range; + MOVIndexRange *current_index_range = NULL; int found_keyframe_after_edit = 0; int found_non_empty_edit = 0; @@ -4037,7 +4037,6 @@ static void mov_fix_index(MOVContext *mov, AVStream *st) return; } msc->current_index_range = msc->index_ranges; - current_index_range = msc->index_ranges - 1; // Clean AVStream from traces of old index sti->index_entries = NULL; @@ -4224,8 +4223,9 @@ static void mov_fix_index(MOVContext *mov, AVStream *st) } // Update the index ranges array - if (current_index_range < msc->index_ranges || index != current_index_range->end) { - current_index_range++; + if (!current_index_range || index != current_index_range->end) { + current_index_range = current_index_range ? current_index_range + 1 + : msc->index_ranges; current_index_range->start = index; } current_index_range->end = index + 1; -- 2.40.1 _______________________________________________ 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".