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 3E72C44108 for ; Fri, 26 Aug 2022 08:37:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8766268BA32; Fri, 26 Aug 2022 11:37:50 +0300 (EEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069020.outbound.protection.outlook.com [40.92.69.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 126C068B99E for ; Fri, 26 Aug 2022 11:37:44 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NY26fmsEjMUTzdyywayS6LsVALmnlAnu7snktK/coLQJMvj/+yfKhqsoy9LFs8+xUcjfaGEgzQLfDnPhfKUPqhsBinxo9MH+PLozzmfHv1x7E6Fe0j6h0S3VPX/dU4U0IUaXztmuT026ZbXvayXba37Bekb4U4yF6hdrSEzJClP2cc6y+eBe+tC5FYUhesIogbVxScY2e3MHoPhPtCxS6c3vzMqHkYNqut/mp0scgNVzOSQxlw0EdWbWPPrqwH/KL1T1CiVqDrHp6j4LhZUcqqbJF7q8yF5Vn/dkyONXgOwSushjNICfzDNUq2NeHLZrbxKS7x4NvC3yQMSfPcefiA== 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=GDBNW+bgFiLoqTJTc6Q7zEf3BQoOAcUk4b+tgQYs15c=; b=WgPr6z4l/7u6E1LsrtXbQOiZko7bXmgqhzSaWNIcU47SCQE4Faw9YJ6NgRlAorD2TYYUKW0jWx3YzbZ+wz+6HZSzG0OXKxe39rCTSNznYMf35f8X1QduK5bReW7kKvFJpLsHSfl5bLFKpC/ahvjDCPB9wSceD9/mxjuEa2CLyBX0PEMQFfPv5WDYg9RxDiiH6WyojW5nh3/DCAlSI0srLIHn61KH/3An6eTRHnPZXbMT6M4WV1TeZy6/+gnnAs2zNW/kGTWCWdfEBh/DzyKlZlZFkRLEwkOss8H4aoaAhPxA8TC/BHb2ls+M2+FYK4hpUJUGW2MW5Gw4mACVrxIpow== 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=GDBNW+bgFiLoqTJTc6Q7zEf3BQoOAcUk4b+tgQYs15c=; b=EEdsZtx/cfHORy56Y9oSptxYI+pWw7XPNxI6uDylZfHAddomaJhCXQkxTd4RM5MqcquhyeKlFukp4lVpxCMqR91e61H1nYsFItJcce09GxSsOTCmrU0hecCTSmGiIXSKl3HqV5enSIRLZUw6wUabock8tBqyAsxjkiuKzKeVBLOsBgyMNBryYBq8QWkpoVWEyLDEGIiJeZN0m/icpi3ouQ2FFL8vfmRjg5QufFE+RtNJ0Iqdn0cGaNDKc3cDmcddsEKTB0ab1AYiC9lLP5dzIAli6tfgQo2iGPnh94I/o2up8edFWX33cJONpyiEL/737+4EYN/3CL5WkQ5J7DUHWA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VE1PR01MB6144.eurprd01.prod.exchangelabs.com (2603:10a6:803:10b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug 2022 08:37:42 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5546.026; Fri, 26 Aug 2022 08:37:42 +0000 Message-ID: Date: Fri, 26 Aug 2022 10:37:41 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220826064456.92895-1-lq@chinaffmpeg.org> From: Andreas Rheinhardt In-Reply-To: <20220826064456.92895-1-lq@chinaffmpeg.org> X-TMN: [KJraOyur9VNQJQV4tsSfrbSytfkMLZjN] X-ClientProxiedBy: AM6P194CA0050.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::27) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <38d96aac-7f22-3f18-6fac-931cbb4a61bb@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ba8d75a7-a950-4a04-0ee8-08da873e3dba X-MS-TrafficTypeDiagnostic: VE1PR01MB6144:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DlYqVOt+tKRzXItAWhW6n2aQFNq2K0bAIKfTL9m5y6R1WTRcm5XO322CCByTuwTFHwB9gD5L9aDIIh/2f4K45mVVZJkxhhEwYMMKE4h/QgibSxBj8eT3s9VXWCnJTinnHWKx/u04KvamcWGYYBie7teEPtBe/8xf2iKJuS1TZ6E9BOI42MeWj3hc9E1fplgSiAkrTm2Tv5upc0nagOAyGnCJRbQ3JdQMCdSwObiu8uhAKmIcSpR059rl8Et9Od1YY70+gpkUu1HHcGDrS5CfPFNl2Gf+F58oZWxU8zpRBa3OJ/q0EeZu5maPHzkRQ4AMeZSQYmVVE4nWo3dvn4dTssSbMxUFA9Gel7BgJfHzJZIuCSLQ2y+D+EVU1DXwwIc76XIH4lo4kxZ/tN6aPm4Uol0oJt3z2o239aASSVJHC8YLuTXeQo47aDQMeY4yqgEaPzDzK/f652v9WBAXcx8Ta8eKJiEpGyg3as77qg+PDSdTb0FX63s+zeDBsaIe+MlMdAhlIAzVdMejvNf7lAFeD2iZzbAoQVUaRLmgHeEaRJu2uodH3+oUMqXgCkwxMJonB2vC1N0jE3SNBGhm2qxS9LR1WCpnp7O8ua8VecDkL0/rYd7tELsjD6lwjC3GtD/9/KAYoOev8mfGmPw6XDm9DR7xK/XWIt1Dg63rirpiKPfbZHHyzO6RTL0n2Eb2xJh9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?THRUZ05sc1V3VC9ETTJUVk5FVTdTeWU1ell1UmhHSFVYRVFzUzVHQmlqaUM2?= =?utf-8?B?Mi9CbC9DaVFuOEExYURWMkhUVStNU2hPOFhNR2h3ZU9OYWJ4UHlCenA4VHJE?= =?utf-8?B?T1U0YnFJQklnSm01Z3MzdDg1YTRLYzV5UjZVYnlUTzB0Qld0WWxScWV5bTEr?= =?utf-8?B?dnNNTTZlWHN4YnRaU1RVdTZqck1abzVOVzhVOHZvUEVYSytUdWlBeXhFYmd2?= =?utf-8?B?aTV4RTRLUnBSK1Z0ZVRCTGdJSERZb3ZVTHRub0x3RG8veUV3RklrS3Y3Skxq?= =?utf-8?B?ZzBwV3c1Uzd2Q1dVMGJ5N2ZaaVBLL2g2c3gwaFA4WVZZaTFQeFZCeVA3RUR6?= =?utf-8?B?Ny8xbUh2UzZvOE5mdUlkdkNObEFIdGhhVnN1Z043QVhQWW55cFgySnlacDYv?= =?utf-8?B?Y0gxc2FrUkh6blNxUTJkaHJCY2tUdGZoQmp2dGdBL2dodHdaZUxLVXlqUEta?= =?utf-8?B?SVRwMWdsQUZleFd3cDBZQlVIWGtUeUFvZC9VZUxmVVNlVDcxTGxpRDcxWmpD?= =?utf-8?B?VUVnWVQzMDJUTHlsZGRVcFpocElXODllSFNtcFZBb1dMdHhCL1NWSXhmTHJl?= =?utf-8?B?Qi9Sd0tFN29kRW5yUlNzVGYvbmJ3MmhEcit0cEQvQkZ4cER4Q0FVUnliMi9M?= =?utf-8?B?MlJ3aHFYUWEyNlZKdDg4b3hNWUlhb1lyRFFjNGRPQ0xJTkU3UTcyQXVrQW1Y?= =?utf-8?B?Z255UGZQeUNwRlV5ZU1RcmYydnJWZ2Q5UFpGT3B4bzJFRE5vbDZaenJHdXFr?= =?utf-8?B?cFBqWTVxR1A3WTl1MlFCaUZ3V1dmTThFWWswU3ZvNnFLdmRxSzV2R3E4Q3JQ?= =?utf-8?B?ZVhkNklwa0hwOXdubDBld0hmN0FkRjNHdys4YVU0LzVTd2hwbVpRR0s2M2R2?= =?utf-8?B?bm4wV2NVRU1WRnBhTDkxeXQvTjVDZk1HdTZwT3pJTGU3bEt3VzltRnVxWEIv?= =?utf-8?B?R2JtdlZMMlpPREdGN0VGMzc5aWUrU1FYT09VTFJiWFJlelZuWmVXODJvdTV2?= =?utf-8?B?MGx4dzlOK241MklSSkdLbTI0L1hQMHpDbXU5eTRYank4anFza3RGYytFL2J2?= =?utf-8?B?NW9aYksrV2M5b2tHdFFyb0tpK0gyMzlFcDlFblc0TkIzcm5qZVVIcVlTNERG?= =?utf-8?B?MmYrdXBZVm9aMzVrck9PVVBHM2EvblBmbTRkV05CL01odGpreXN3WVlBN3BI?= =?utf-8?B?TEpmSmE4Z3lDeEhqTHZ2N0dRamovY2VWRmpMR0hrTEYrUUhhbXBETTRYYkh1?= =?utf-8?B?WjlxL2lJNmhLemd0L2h1YXJJeXZBMkppcldvYnBaRWVEUWdITCtCVUZZS0Yz?= =?utf-8?B?bHBGdEhza3RhVWtCVDVGL1kzaUZOeTR5SEU4UllOYlpXNnlXNkEvS1FTMFJt?= =?utf-8?B?OFh2ejdseXYwOUFsT0xva0RVN05DTG13SldTMUxwbmVLL2s4emdUT01HSlVZ?= =?utf-8?B?eFhpQngrUzFHejNyZFBnTFJQQ3hLcC8yUWl3QnlHRDUzU0pIZDRTTzlZNE5D?= =?utf-8?B?ZUZPekd6S2xDaURPajdkRzY4ZzRLcmpLbUJ1S1AzWVB0WU1aNUx5bFc3WjlR?= =?utf-8?B?ZCszZnM5dFBQcS82RE9zc3BBWmJpZlFlSjJYN0ZnNzMwWXRwZlJ5bWg1a2hS?= =?utf-8?B?UFhlVE81ckE1NTVCUWFKRHNuNDBtNmNOSWZSWUUzRGY0RThBYlM0Rnh3Mklv?= =?utf-8?B?OVlHeTczSm9RL1hXWi9JbU1CYnpCMGtKMS9iTGY4NVJJaTlIUTB2am1xL2Nu?= =?utf-8?Q?T5Y2ZLqnSseTenXHFA=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba8d75a7-a950-4a04-0ee8-08da873e3dba X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2022 08:37:42.2484 (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: VE1PR01MB6144 Subject: Re: [FFmpeg-devel] [PATCH v2] avformat/imfdec: check track valid before use it 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 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: Steven Liu: > fix CID: 1512414 > And return AVERROR_INVALIDDATA when get_next_track_with_minimum_timestamp > incorrect in imf_read_packet; > > Signed-off-by: Steven Liu > --- > libavformat/imfdec.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c > index 5bbe7a53f8..08f342bc1a 100644 > --- a/libavformat/imfdec.c > +++ b/libavformat/imfdec.c > @@ -697,8 +697,9 @@ static IMFVirtualTrackPlaybackCtx *get_next_track_with_minimum_timestamp(AVForma > } > } > > - av_log(s, AV_LOG_DEBUG, "Found next track to read: %d (timestamp: %lf / %lf)\n", > - track->index, av_q2d(track->current_timestamp), av_q2d(minimum_timestamp)); > + if (track) > + av_log(s, AV_LOG_DEBUG, "Found next track to read: %d (timestamp: %lf / %lf)\n", > + track->index, av_q2d(track->current_timestamp), av_q2d(minimum_timestamp)); Coverity actually complained about track being uninitialized, which this patch does not address. And the reason it does this is that it doesn't understand the algorithm: track will always be initialized in the first iteration of the loop. (If there is a first iteration of the loop -- is this actually guaranteed? A file without tracks seems to be pretty useless.) FYI: In Coverity's analysis there are loop iterations, but it just assumed that track is not initialized in the loop (which boils down to saying that it presumed the tracks' current_timestamp to be invalid (denominator 0). I hope this can't happen. (There is btw another issue: The initialization of minimum_timestamp presumes that int are 32bit which need not be true.) > return track; > } > > @@ -760,6 +761,8 @@ static int imf_read_packet(AVFormatContext *s, AVPacket *pkt) > AVRational next_timestamp; > > track = get_next_track_with_minimum_timestamp(s); > + if (!track) > + return AVERROR_INVALIDDATA; > > ret = get_resource_context_for_timestamp(s, track, &resource); > if (ret) _______________________________________________ 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".