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 90CF445E9B for ; Sun, 13 Aug 2023 22:59:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2114668C4D0; Mon, 14 Aug 2023 01:59:56 +0300 (EEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2010.outbound.protection.outlook.com [40.92.58.10]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4113368A05D for ; Mon, 14 Aug 2023 01:59:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IfCBR2v75ZATKfw4iiZSiillKj06DRRGs57QPnfsThiQ3zey/RB5far3e50S0oeAzcUJpw0bUYl9An3r0EGvM50U5dY4OX4cY+TIGFW8i2b+eCQnT/k7KYq+NAmgBkgIV7A6b9Masimdiop/qg7Ldm0raVAOGtCysQP7AC+J1o8KMnbIq5bfUtEdRgNCuq+KRjkxmB9p1we+7QCHtBAn5Pyk4u+kighVavRvqVRwiS0CEDUArojNcpt23g9qs97ffJmgPnQBH0J71qaupuhMWBXE7agujOlAntdcfhEFIK7Y+BWKvXhzpeICtUhWO77ZzdV1ShHAg79QLFasFvu4rg== 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=Y2/Oc7zGiLSPi718PvdZkI8WoxO9RBTLsgRJp/k1qrI=; b=Qim/3XbKQuCZXxR1EjLIB/jvWIinyylwORpapPvzCrFVIOG331xYfcsmOMha2SErb13zpayt7I4scwMAcRu0PXoGpBPX8ZBZUIefCMgmc8V/NtKKdiZTgwdHFDU8BP5T+1F5iFzPQH5ePuVTWDLPrv+WQe5km3ZTBL7fPNXD/9fsGJT5AlLnJ9vuxAhMWjQk/3XVzGjIwPe3uoo/HWaiGqhDwcTILjtk7poknO0GpezCb3KDGQGoDOkLYHDIHxWsDT8RcrV7oWcIjSWs20gMIYZuH2Nq0ZqFFqD5i0NRnSowiU5gEwVbnnis3wCpc/UxP/xsByHhRG8crgKjgtsz4A== 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=Y2/Oc7zGiLSPi718PvdZkI8WoxO9RBTLsgRJp/k1qrI=; b=LyJsXIK/8Nvxz+CZSutvqj9CYazLYvjhQO4PKhmvtr75vO9VqX7bUQ4laKydVdmPcT6qxEgIxIZ//Mz1xzeDfmkfwKvUz1HSiZumKB0oV7zhJA5Bk/cghWg6KF/0FxtnwryhIp3726W1YuF0T4/JTJ4WvApLw6t+olRhBqEH9Kwv0IFqbRzHryMYYFigjPqYQrB26oJcfQ7DgJIbI+Q7qSWyIcqmHCbTVUl8JF2OGkG4gxU76RkHoQ5lX9Gt6xfdXBNBkebHG5fVyFMNpgZph6mBxMrAFj+WWO7qjo1hG+LNDiRJ7X8tG/4PFS9WK5Ff92tBjQZjbMZ9yqTLY2qmxg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0268.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Sun, 13 Aug 2023 22:59:46 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::31b9:e47d:e931:f0c8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::31b9:e47d:e931:f0c8%7]) with mapi id 15.20.6678.022; Sun, 13 Aug 2023 22:59:46 +0000 Message-ID: Date: Mon, 14 Aug 2023 01:00:59 +0200 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [9casY3CRcbAeKuiOwH6YRMGtMj7/v/uX] X-ClientProxiedBy: ZR2P278CA0030.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:46::20) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <65b2ceb9-b00b-f79a-d252-d7f9d57ec133@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0268:EE_ X-MS-Office365-Filtering-Correlation-Id: 73f7c8e1-e315-4718-6053-08db9c50fcfa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JWN9lRDkrR4T9SQoMlOvQ40q7ECvnvq8rY1eKYTIsYtGNWBydeTs+3rb1XnWyfuvrVCOhFdgviRW4ho8a4jjYQYMGeiksV7izVLV6GqKyYeUAy8V6hCZqKNW5Jeok4kKj2z++GpGaVFoChSQwYlu7Hrj+kixIz97VYhUhdNaFWYf+DThlfl96AbheFqAbX0cTx0oug+9w8OlZriOOOr9MEUCTrnQAGbxkLtgo09vRc4CQ/7ssrto5J4zhXc4G+OdK+4K582BGQ3sFEzd90JvyujELme99c3pVG8wTwrRJchYwVNREd7SK9MVBc3c52KOB9b5Ud/rEZCTM7knAb387YmpHVs5J4M3+FdpTgvytWPLvneUjRNEAPfUmZhreVw7VfUmvvQBjWaGcrqRvb1Tles3HhWDuBS3PddoxleoRKLH99A8Gb8eLKkdkuDxmF9AF1FyeyExWdEFkycwfnqZc+QE91jJh6R/W/VydsxdLeI944EzY/LGgilJdTVFw+n8mV/4/ieYy1jM1hvobn6hnP4LAojAkcCnzPRJsU5Z0TtdxPvQOWVLQ6gCmsT507WO X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVVKc1ZrcXZvM1RuTlQrVlh0aThEUlZxc2kvQmxWRTlwTnY4ZFhCN09nUTBI?= =?utf-8?B?S05mYXdVWndiNnVXeE1DS21BeWVaUFRiQlU5S01LUm5ueEhRbWY5TDVLYVM5?= =?utf-8?B?NGRjMXkyc2dxZzgxVTlNNTRXbjRJMnpXcjdGalE1ckNLdkMrRDFscWZaR1Iw?= =?utf-8?B?Y01ZSGFQS1E5eTYyNUloVlp2S2pSSGJDT1lkZWp5VjlNM0o1RlRmYSs3b3B1?= =?utf-8?B?WFVkaUViWG1jUEordjl1dHUxSnlBQ0trK3NwYUp3RWcwS3ZUOG5TRzF0RGRR?= =?utf-8?B?WC9DUVVlVDlMZ2M4a25mSWNObGRBUHlYeVZLeTRMNTdVdW9KN0NhaVNxdEtB?= =?utf-8?B?Zm1mamVINFdtMUMvbGhzSmt2ZHh6UUprSXJhbm5SeTBqcUZYUGJjNVlaWmk5?= =?utf-8?B?WmdRSTgzRmdLUE84VTlFNmkyb2p3ZFZ6YXhaQnoybkVPK0o1YVNIMkZOa29a?= =?utf-8?B?am1sTy9MS0lPblNSUGhsc0lySlR0d2FhKzlRQ3d0TFhBbTcyUHNsbUJZMUZ4?= =?utf-8?B?K1dUd3dDL1RZRWFyZ2JTQkpOYis3R2ZWU2U1Z2JoK01HQVdPQWhQN0p0MFB0?= =?utf-8?B?aUM1RVRMTXVsdVh6bTlCZmlwcnY3amtaM042aWcxRUhkdnJNTDAwSFRlKzh6?= =?utf-8?B?SVhpUmx0WXFsUTd4LzlzWE5yWDZzQVJLb0hKOTMxVkNuclhoTGJELzRpWWI5?= =?utf-8?B?K2lVSVVxWWdaTjNabHBrRUFJeGhxenlqUVFSNzVyR1A0eFJQMWpSOGp1R0lE?= =?utf-8?B?b0t3cW1CODlMZExUakxBU2FIZmIrZWloby9OMVZzakxOaitiRDlKQ0RpcTlB?= =?utf-8?B?dG52c2luUEdCaVNybDQ1VXBiaEJzbTVTSHRZWjh0enpmTG5qY3dWekZWdXlk?= =?utf-8?B?b1A5dmJZaStOQzlGUW5iTlNHQTc5R0FiRFE5MWkxZkttL3NXQWtsQXJjZ2RP?= =?utf-8?B?RVd2dHhyV3Z0ek9sZjd0TERXK0t6dG1Ra1dueEpNQWd2dWx5SVBPNkcydmc1?= =?utf-8?B?QUNZVlhLY0FXOHNSd1dtMjd5ZjF4WnE2RkViZFUrNW5TMkJwK25LYllqd3h4?= =?utf-8?B?RzR0NEFlbzhQMFJ5cDRkMHExS1BRaENmZXJvd0NpMSt5YzhZcDAra3NDK3VM?= =?utf-8?B?WTFzMFIrQnNlVFIxMFZDVXRsTUNlcFZSSzFkR1FlRVdoR3B3S2Z2SVJPZlZz?= =?utf-8?B?OUlSUWVTTzFyenp0WWtBa2dlR1NxS0hTOEhjeWNRcUxuWkJaVjVaUVNFL3Uy?= =?utf-8?B?enFQTWlMb2l3K1B2TWF5OFdBeVVwa21kQml1R2dSR3FXTU9VNGhiOFZRZGpF?= =?utf-8?B?Znc2VnliOHlVR0FTQ0lyS21iaXY2dTkzZHVBa0QrUzF0ZFFGWTRzazhnTldD?= =?utf-8?B?M1Vmanh2VXdvWHYwa2RJenBaYlZLRTBodnpMSEs2dHRhUG5xb3hmNHRQUTB0?= =?utf-8?B?cHl1WlYzRU5GN3J4dTNBMGZPVUE1SGxTcGhsVHhjeWM4OXFYNG91UE9udGNa?= =?utf-8?B?SGJGSzJyNlVkcEpmUzdRYUNEWXNpSU5NK2VJSHdQQjJZbjQvNkhhVGtHdnRV?= =?utf-8?B?QTlpVTZJUVdqWThDblFwWnhrK2xwaUtqbjdwVExwZjVHSjQ4Vlk3TEVLWmJP?= =?utf-8?B?YUd4eUpqQUdNbzN2cEIzUmRKZGduOURIUkF5SXpaamJ1cWF0UDNSWVpBN0VI?= =?utf-8?Q?pEr7Nn4sxk61uNZvVhyn?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73f7c8e1-e315-4718-6053-08db9c50fcfa X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2023 22:59:46.2344 (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: AS8P250MB0268 Subject: Re: [FFmpeg-devel] [PATCH 1/9] avformat/matroskaenc: Avoid atoi() 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: Andreas Rheinhardt: > It has undefined behaviour in case the value does not fit into an int. > Also stop allowing to override a stream level "alpha_mode" tag > by an AVFormatContext one and properly check that the stereo_mode > number given via a tag is actually in the range 0..14: Negative > values would have been treated as zero before this patch. > > Signed-off-by: Andreas Rheinhardt > --- > libavformat/matroskaenc.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c > index e813ef86cf..9bdf087c67 100644 > --- a/libavformat/matroskaenc.c > +++ b/libavformat/matroskaenc.c > @@ -1592,7 +1592,7 @@ static int mkv_write_stereo_mode(AVFormatContext *s, EbmlWriter *writer, > // convert metadata into proper side data and add it to the stream > if ((tag = av_dict_get(st->metadata, "stereo_mode", NULL, 0)) || > (tag = av_dict_get( s->metadata, "stereo_mode", NULL, 0))) { > - int stereo_mode = atoi(tag->value); > + long stereo_mode = strtol(tag->value, NULL, 0); > > for (int i = 0; i < MATROSKA_VIDEO_STEREOMODE_TYPE_NB; i++) > if (!strcmp(tag->value, ff_matroska_video_stereo_mode[i])){ > @@ -1600,7 +1600,7 @@ static int mkv_write_stereo_mode(AVFormatContext *s, EbmlWriter *writer, > break; > } > > - if (stereo_mode < MATROSKA_VIDEO_STEREOMODE_TYPE_NB && > + if ((unsigned long)stereo_mode < MATROSKA_VIDEO_STEREOMODE_TYPE_NB && > stereo_mode != 10 && stereo_mode != 12) { > int ret = ff_mkv_stereo3d_conv(st, stereo_mode); > if (ret < 0) > @@ -1748,11 +1748,10 @@ static int mkv_write_track_video(AVFormatContext *s, MatroskaMuxContext *mkv, > if (ret < 0) > return ret; > > - if (((tag = av_dict_get(st->metadata, "alpha_mode", NULL, 0)) && atoi(tag->value)) || > - ((tag = av_dict_get( s->metadata, "alpha_mode", NULL, 0)) && atoi(tag->value)) || > - (par->format == AV_PIX_FMT_YUVA420P)) { > + if (par->format == AV_PIX_FMT_YUVA420P || > + ((tag = av_dict_get(st->metadata, "alpha_mode", NULL, 0)) || > + (tag = av_dict_get( s->metadata, "alpha_mode", NULL, 0))) && strtol(tag->value, NULL, 0)) > ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOALPHAMODE, 1); > - } > > // write DisplayWidth and DisplayHeight, they contain the size of > // a single source view and/or the display aspect ratio Will apply this patchset tomorrow unless there are objections. - Andreas _______________________________________________ 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".