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 4B0C446D24 for ; Wed, 9 Aug 2023 12:57:48 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 424A068C841; Wed, 9 Aug 2023 15:57:46 +0300 (EEST) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2046.outbound.protection.outlook.com [40.92.59.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9F4D468C7FB for ; Wed, 9 Aug 2023 15:57:39 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EhkH/AbI7ez2n8Z2VdZ0F2krAPr59AtW6ZHxeBI/5b/EW9cy5ZBDO/HFzQbiE9Z22RIq2e6XKAYAU4Kq0EIJLfLoGjh2oY4P/0BHLIfh0iNHZ/p6NlLLJ69xh+f+LLfkt0qBtGLgsX80XXRfZKnshYxUr3EZWx72qJrrPYWRWxv31LlFn+TvTSYpaqp40V6UG2CL5vsgSO82QIK4MT12Qg7mOJnzsBKsSFV08gyh0JXc6OBXHFTfGLJ+irT6PgsLwJ/CcXEDMmrTjl0LS0URzVN2tXVLcPMI4O9GafV+WKC7Uh083tH+RHtORnw9EehtjTMfKUP2zf+9SihNlYOE1Q== 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=fwdlTkg+jg9/x/GV2XNnAySduIGZTh6jNxctLnC4JfM=; b=G4FgZFhUJ4/y3AH8X0IAEYXsKg14JMYaDweguguGU6m9AFE1tAezy9xVIj4v282xUzk3uYcAccMLzJC4rXrTAvuvvL7d0rm+nvbAfPeYTPcq9f5snGhd2MDyNxtKydM0hPlULUHOEK+E6pzyS5FqumMazNaU+Ge31TrbrxdVfvIAgYhiDvt73AJlFStsVXQNRPcQBhrlvsmOFvQh/4LWSd6DQLK1KG1RTi6ufhnTi81uoA4RB3Pgt/cRc9OXQ123gjgyRTiZYW9tGLeVzQ1UbscDhIfrqpEDol63fQJRMtPm74jjGUVdnapakwLre7hVLKXzLD8TTl3SUPKiN2nIKQ== 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=fwdlTkg+jg9/x/GV2XNnAySduIGZTh6jNxctLnC4JfM=; b=IrlYEjTH81dMsz1nAy0l8H/mW/fh3AGierFwKb6yVe52nEQUGUEXx5e8Y6lMFiSJFeIpTLForCMF6tDcBMMXim+cby0KQPW2uI64bbYnHwbYLtoVhp+O6Ze8GeQ04RIDMpuFaxeODYcJVNK2cF4gsPfcYk62tJ7a9f2kIho1JTOtywCgJ5Ro3jOc9h/O7VK4A615Io7gQJVpQIm29oTRm0IAnGs4G0FThkSEbrVNr03L/c4YvKyqbXlN34ipwJFyvBDceNnuuZruagX3FEewoR93o1BfgAdxkldK7X5cxpHLcvP/p5SwzUFrw7cvOc4WY9OcXtvsry8TGGvBHBd1GA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0117.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:370::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.28; Wed, 9 Aug 2023 12:57:38 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6652.021; Wed, 9 Aug 2023 12:57:38 +0000 Message-ID: Date: Wed, 9 Aug 2023 14:58:51 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [l4uA5OtBqGFbxhy5Jm4Wgd8J+muoBfSQCuEMY+vp4X4=] X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::17) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0117:EE_ X-MS-Office365-Filtering-Correlation-Id: 6473eed3-174e-4917-d8c9-08db98d83555 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cn1zsivED6fnXRmdC4UODxzusqSAxhqzUEjT4/dIfik7J8B25elJjxb27EidGHofeNWof5kx51uBt4OYrMb3gOIKDJguRzBVjagG1zezDsZDtioWG+CLxmwKMGq8A/CE+2tDGZ5S0fa1B/DGp5Cmt9Ce23R5QOD6C+ACboCE5Sz9ZX9hkeXvDl490jRl/jzbJSM1xyxtOIIevVcdbynGRfkBfvEqSZNv8uL5HxFSZnntDtO7fRRaHpTldQJi4pNmX8tlVGXAr5pBWII4u2OqU/jNlKgt8aMTmV3/1it9IvhmdO41H9EsLumVxoTfbWBOaUD16+GyuP45e4TScLAhWlGD+ctLWNqiviPIL+1mrNG54KNKEuUwmU78Zq9yX76x3HOKpPD8TQZSmzjdEL7Q2/EoyCfACK8fSJ1g7yh3ZXQ3NH8mKVTfjnPFcepBgcrcBqosdO6uV5RdcU50Yo9Rf3xm/XJG+ItXcHSn5K64bbIj1YdNQu+ByhSlcLm9WihJ3fyprBwVlFkLoHw4emJnMhWPmW6LVOPKKg3lJc519F3qlF5x2hYveyIGKTV22td0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c2ZhZldMZmlFTTdXZmtwa0J1RzhsVFRYbUFLczQwaXhJYkxEcDBMeWVHTEh0?= =?utf-8?B?aGxYQUxGWmt3c3JPV2Q0K3NoTXJIby9ZUDlDZ3NZRXdGdlBMOUMyQzd4dGdR?= =?utf-8?B?bjNQbXl6TXNnc3pxZ3QvRlVEUkgzVE0vK0ttSXd2WEJZZFR1OWhDMy80TjM2?= =?utf-8?B?SXd4dlQxOFNRMUZjZVpWaGtiREpxc3praUtyM2t6Nm5ZUE9VdkJQQzE2WUli?= =?utf-8?B?T0pHTmdLYUlSU1J4eGpPZDNhaEQ4Y1RkRmJKMDExazlqbnM5dnZZdGxrWFJy?= =?utf-8?B?VFV2TW1iUEZXVmZqbjhRaDFRY29vVmxMSWdXSkp5cW9OLzRScmQzZEh4aUN3?= =?utf-8?B?OEErNVBBWlNJZG1RaWxNU3pmZGk4TjBwNFRtSDVDYmo0VWg1REtFcXBNdVJW?= =?utf-8?B?OHNYMlFzbEJHQURocmFZdy9tTFA5MGVITUVaRmo0VzFXaGdpS3cwVjllczlB?= =?utf-8?B?V1NVUzVlejVneGNwMVYyTytsS3pVaURHN0xxZEVGZlo3ODBPQUhFTW9YazlU?= =?utf-8?B?SzdaK2JMVE14L1ZWUWZWdldPd3B6VWdzSktHSUYyS2ZxN3d0U1BLODFtMVoz?= =?utf-8?B?T3JjWVJBWWlPeERFSlJQVjAwckdTOWNraUdleTIvK20zRVBaVVAvRnRDbTM5?= =?utf-8?B?ZUc0ZnFoS1BVbm5KQ2R3UXNpUEpNQlkzQmFZbVVudDNKU2hqY1gvanN1SXJD?= =?utf-8?B?Vk1mdVBMdHRkS1VLWnN1VWtUVUxrOCtYWVdQUndzNDl5RjEyaG5uak42dVZk?= =?utf-8?B?YnFvTGF1NmlkdFIvMDFKR0lyOHlXaER6UnA4blJaV2lScDUrYU9HWEM5ZWd2?= =?utf-8?B?eFUxSW8reGZ2bEJZNUFXbU9vM1UrWE1pSVo2WFM1SkJBUDRHNmNENHMxM1Rl?= =?utf-8?B?QStsYUcwKzdMSmxUbXFHcjRxaTFuS2xiS0dReVNHcElQNHNhYmkreXJEbjVT?= =?utf-8?B?YnRWbUcraittRmZGSzM3VU9heXY1bDRORUttaHdmRlNmdTY4UklZYlhvQ0Vi?= =?utf-8?B?SXMxdnFoU3dWdmxEaEdxbmluYm1IVVF5dGhIN3hDTFlTeHhNdXVOUitzWVF2?= =?utf-8?B?OVRhclh0UEM3dUpJamlPNTluZW4yeDZRc2RlOXVPWHJzZWw5a3k5Y0tZT2E1?= =?utf-8?B?dXhrbU1QMWNoc2ZsUEZDN2FIUk5BeFBwc0pLb1U3eVNZZk5FUG5YUkc5M0Nk?= =?utf-8?B?MDJJZWNoOWNieVBqZkpjOEJxR1NVNWp4ZWR4NzhYQWRYck5BN01PMFRTWk04?= =?utf-8?B?TzBXZEdTVTVOVDZhckZGbm1LV1krdDcvM0U1Ymdzc2NRRmFKWnRvemVhNHR3?= =?utf-8?B?bCtYS0lweFBhVitKVmhxZGpDMGRET01uVUJScmRKN21KdnNlNTNpUXhqTnVw?= =?utf-8?B?SGc2dGRjR24rSVAzSFRyeU9oVWhMQnRobG5vcHI3Q0RZYnRhSkh2UUQwbm5I?= =?utf-8?B?dDVpaG5EZHN0MHJhZ3oxenpJRi9xK3Q2RDZYYkljU29tSTdpYVYvK0Z3MFE1?= =?utf-8?B?QzRaamdKNUd1UWdiSVRCUlhHUmQ3MEd5aEdMKzRWZ1lCNFBoU3lUeE15Y1Vk?= =?utf-8?B?UTF0OVRhRzkrZVJlbng1WkcyZHM1K2Y4QlFUVTBadTJuV0ZQSHcycGJ3bTlT?= =?utf-8?B?R25xcjdYVGRWQVRBVDZVY2thYnVyLzBxcDcwdnVFMzVrWUY2Y0dGOTVjZ1k4?= =?utf-8?Q?oiVa7fARd0gNDkUimrcd?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6473eed3-174e-4917-d8c9-08db98d83555 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 12:57:38.0419 (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: AS8P250MB0117 Subject: Re: [FFmpeg-devel] [PATCH 2/7] avutil/bprint: Allow size == 0 in av_bprint_init_for_buffer() 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: James Almer: > On 8/9/2023 7:08 AM, Nicolas George wrote: >> Andreas Rheinhardt (12023-08-06): >>> The AVBPrint API guarantees that the string buffer is always >>> zero-terminated; in order to honour this guarantee, there >>> obviously must be a string buffer at all and it must have >>> a size >= 1. Therefore av_bprint_init_for_buffer() treats >>> passing a NULL buffer or size == 0 as invalid data that >>> leads to undefined behaviour, namely NPD in case NULL is provided >>> or a write to a buffer of size 0 in case size == 0. >>> >>> But it would be easy to support this, namely by using the internal >>> buffer with AV_BPRINT_SIZE_COUNT_ONLY in case size == 0. >>> >>> There is a reason to allow this: Several functions like >>> av_channel_(description|name) are actually wrappers >>> around corresponding AVBPrint functions. They accept user >>> provided buffers and are supposed to return the required >>> size of the buffer, which would allow the user to call >>> it once to get the required buffer size and call it once >>> more after having allocated the buffer. >>> If av_bprint_init_for_buffer() treats size == 0 as invalid, >>> all these users would need to check for this themselves >>> and basically add the same codeblock that this patch >>> adds to av_bprint_init_for_buffer(). >>> >>> This change is in line with e.g. snprintf() which also allows >>> the pointer to be NULL in case size is zero. >>> >>> This fixes Coverity issues #1503074, #1503076 and #1503082; >>> all of these issues are about providing NULL to the channel-layout >>> functions that are wrappers around AVBPrint versions. >>> >>> Signed-off-by: Andreas Rheinhardt >>> --- >>> Missing lavu minor version bump. >> >> Looks good to me. >> >> The other patches in the series too, but I do not maintain the channel >> layouts. >> >> Regards, > > The layout patches are ok too. Ok, then I'll already apply them tomorrow. Thanks for the reviews. - 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".