From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 95B224DC83 for <ffmpegdev@gitmailbox.com>; Wed, 23 Apr 2025 23:55:02 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 868FA68B5C9; Thu, 24 Apr 2025 02:54:58 +0300 (EEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2012.outbound.protection.outlook.com [40.92.18.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1219B68AEA7 for <ffmpeg-devel@ffmpeg.org>; Thu, 24 Apr 2025 02:54:52 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MrGtbrvhT+x6vbgeQPBOSvFu3z2h0GyqrrS53M2sQ2dGh/hPVFlv/JdSXWlFzrEWqPnmd6Lz3BKBEkL1INfiT6Tk3zlNxdnAVghrlFbCJa/C2M2o6pPSFTtJracYmdq3AcqWR0ttlgeaufXRCjutzZskRtRypJXESQt83DFbfOvCWKBL/LFQk7q5J3Udobyj5l/SNiW2qr9wcPeRyWDkl6rQqKt28B2QCKtOZPeVPdNPda2dV7uRqA/Htql+Kwrrf2ZM9ZqObG0pIuR5fsx551VIqp6/sS+ex2wf4Py3DEImiz1qU6Ifukvb5U4/vui576qZo3Cm3/RlHcELK2A+YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=/IDcQ293M1Pz6O1V/9T4c6lhF7MwqJ7hYaPKX7G9kqY=; b=PaB+xV1h9rjMBOPoX+N9rnbb+yDWB1UhmfvGJLE99KOrtR79hpxeD6y6jnLiQ9fbwYLLM3nd84FyTWmfTPzaFCPlX+z/0Td6SnVAdUvgtldp+wjyz2svfDS9kuApTa9BAFunaMpvrbzlpQ9LO0IiRz/5V2SaiFny3Uu++tK+SFroOlTHxDUl6RBLgkWi7hJC1vpEXp5GR6buVXe+WByexau6I9/rZCkGP+GzFWk2BtTfbU8xWZ7JrsfRK5ARC7AxC7+3tirCRKxFOD4fbK+1ySp022KHwSoRysg5047/RK1tN9uG9xMZQzCmJlaW3dJyH8ZzwHmUWdJBsWKRy+Z0aw== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/IDcQ293M1Pz6O1V/9T4c6lhF7MwqJ7hYaPKX7G9kqY=; b=hbIv9ZyLm2W5uN/3OeNPggu4ZE4hsMhwmD7fUQIJrw+GpWSfZwrMxrCEU9tfyp/2jeEr5ito+83XWwJQslm+NaC72CD7xJdIP9PhS+hzUWdj0Z3h2uTmIUZgnJD1yPDUSTM6wudPlJLmnETUXKWwzFIeD6VytpzmriKLJsVPR0SoR7Mahzjc22B0Ki4T/GTbCX0ZNz07LPgjhQMjcJEGS14bbYXa3Q9wNjo1vW6+A3nAdYmZ5dKWFjPxHVz3b3PIxIQx6z31Px/VZJ1wwofZ+pQNtZeMCvL+m611o/fWK3/oNLeDV9MigaTodi9c75TOqsX12gGqm9bKXUtse+xtVQ== Received: from BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:145::16) by BN0P223MB0213.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:146::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.22; Wed, 23 Apr 2025 23:54:47 +0000 Received: from BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM ([fe80::c63a:275a:b3f4:fae9]) by BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM ([fe80::c63a:275a:b3f4:fae9%5]) with mapi id 15.20.8678.021; Wed, 23 Apr 2025 23:54:47 +0000 From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org> To: Stefano Sabatini <stefasab@gmail.com>, FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Thread-Topic: [FFmpeg-devel] [PATCH v5 02/14] fftools/textformat: Apply quality improvements Thread-Index: AQHbs9FXHIb23a30lESJ4MvnuQQ3i7Ox2CUAgAATMXA= Date: Wed, 23 Apr 2025 23:54:47 +0000 Message-ID: <BN0P223MB03583CE2097B0746434B6E23BABA2@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM> References: <pull.66.v4.ffstaging.FFmpeg.1745189954.ffmpegagent@gmail.com> <pull.66.v5.ffstaging.FFmpeg.1745358943.ffmpegagent@gmail.com> <1e312f4685e66a4d266beabd39b8a8530a090bda.1745358943.git.ffmpegagent@gmail.com> <aAlq/OjEAcIYsm1E@mariano> In-Reply-To: <aAlq/OjEAcIYsm1E@mariano> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN0P223MB0358:EE_|BN0P223MB0213:EE_ x-ms-office365-filtering-correlation-id: 2a9910f4-a4a3-4e0f-e26d-08dd82c23a94 x-microsoft-antispam: BCL:0; ARA:14566002|461199028|8060799006|8062599003|19110799003|7092599003|15080799006|3412199025|440099028|41001999003|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?OEyd2QDx+dG1I/1WW7Az8argW5aW1Z4x97taZ2fDSL4RVeV6DvYJLTuDyusj?= =?us-ascii?Q?ZcnfHJN4V+jfiShir5wNBwbMa+Jz/FsjU8pyPPaqxZlhLxgYk0G3PMSIvjhf?= =?us-ascii?Q?LWqNXX14cU6ZIbSluh4eZOimBcQDbEs81mv+apx3woWjbYx7AArwI3iz7CN4?= =?us-ascii?Q?Eux/0oagiF2KDUy2TiLwyg/ZQV2c/buHsS1LzlxGhVBgQihw9QKHPJxVq5YP?= =?us-ascii?Q?bfg8axCEBzHFZM0c5Q+zWEvZ//uBZIxRzT42I2w2N97iGganoKTghbKYd1/Z?= =?us-ascii?Q?u80F32yGzlt8RFX8xULIZAPtzHikg96KxgZg1BKAU2dIovU2J96sE/lD+Fnf?= =?us-ascii?Q?ySNwkLIaurdPX+ptRk6pMuSh5wrkTb/k9sc+fswrt6dSvVzp+iCXJlgyWJYc?= =?us-ascii?Q?75nrOkzf8HOA/g64gNe1gUosi809/mZmqv4410v9xGrfriUmdo2ZeeYt5nQO?= =?us-ascii?Q?hD7ZgSVG/VwGZmV9DxKo5hpR0YvY8v/HoaVf9hUvlAsP+83aG0WnPXrRSih5?= =?us-ascii?Q?RTiwtXXjQUMIlssuYT08KVz0O43qt02H9ZjZcGF/VbQX+TGMePWxytqG4Tao?= =?us-ascii?Q?n3kxnDp2yzWtFXoeZAr5U0AMpEyxdj0bzna+3OffB8lzWde0RWw24ML0lepF?= =?us-ascii?Q?hV+tBKwt2rxCwZ4NqN02Lqk56EkLv/nHx97eGdaAFZqFnj15ukSJyX9vb0q5?= =?us-ascii?Q?vc4jHUbIVN6uiAt8vsJ4VfRXxQfWjpN2pmyg9edDKEi1xoknSZEVYtw42c3I?= =?us-ascii?Q?pYbSQ6pP7UaF/PScHLlGE76DGoLy3hYcMb8ZykFT3rdVlfWf+NnfZDLv6Oy6?= =?us-ascii?Q?mYETx0MByhms0LF0AG1FZlYdLsYLkFtDyd0zNw0zFO87NurbVjSWrJz4sdaT?= =?us-ascii?Q?tc6HTq+VnOkoGFUqiVU/JPIAV6wJQwgSC/lezKkyRFDDkuhNzoua+kH+nR5K?= =?us-ascii?Q?1iD4i8AaBCkrPCbcgCqURu26pErC3Jw0HefYZa783gFvSBmHU2MqmvNY82RP?= =?us-ascii?Q?9zTBU54SxInEA4lSa8exNOtozTJhdp/VUfkt02HKD53t3AXFdQjoUdohnD5Y?= =?us-ascii?Q?PwP/cMqQ3JYU2xbpLcs0sNhXLUFnnt9s0VaPseyd1DIIh1Iya2OOOPLFi+cw?= =?us-ascii?Q?Ui1C8CVSTc/IxgzpCtVMzxJmCAVphLu5Kg=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?j0on6RPbhKReatdfWOJ8WFvnXfoaEyO0faV60B/JK7cUJXoUNBqDuEyLw0fS?= =?us-ascii?Q?Mt0AM0G8x8coU3DUGQ4WQksbhodglvcflvC9XsFqjAg9avN+u4rLADYrJpsp?= =?us-ascii?Q?C6EhtMViMKHbUzc3V38P4ahDfmiIGYI74DPSqRff7pjdgvZ5fWBBNgmOplX6?= =?us-ascii?Q?BtxowIM/KTWHJZo82+pn9QnsYuf7Cqci+3XKAaLL1IicvVCrqa9lfhVIlRWs?= =?us-ascii?Q?DnjXTMyGdDgSlxsDjD0A/qmxYrEbWmek+2hxErpIAHtqXjPsZu9CgCVlS6Qq?= =?us-ascii?Q?yTVNyqP8XJvrI1iDP9wdnLJvAc8jBq9hJXvmW86kaANcgwGmPit7fkyvHvYB?= =?us-ascii?Q?Ud4OvSs5znUdABogfam8Wc9N0osAgM2SOE/UsYod/pQz/G2xbGB7k0xGP8hb?= =?us-ascii?Q?n16WY514oMh0UJCi4nESG+Lt7PKHbdT+UrW1rBehg98GSlX3dIkELk+wRQVZ?= =?us-ascii?Q?GTsLGVBXlab8XSxr0mRTGf3B5l5p1aWPGdPlMh+2FhbY0qF0ThSgE0GF+j6l?= =?us-ascii?Q?r2ANA3nbjo8nDJ2y49L6JHITISUd6BKwrJsZwMQPXl2J0PFNz5gmgrKdrA55?= =?us-ascii?Q?DoA+k2TxdfGlUqqZBcfCAHQM0WC97r2yqgjucNsMbdlnvOXmWkvOKlDxqxjh?= =?us-ascii?Q?6T5x9DRA3GhOCJ+AMVpqt5oFzHHA6QeGI3Dxfa8ek2fktBHguF6p3m4Uv4di?= =?us-ascii?Q?TlzYY+R3GO6kNmjVgYlX4ZfGcWwO9uvqk/6E7LBT9gu5yyvkJwGx12gk+NtW?= =?us-ascii?Q?Mt8SakPBkMJLZMEay14lUE/eo9EzvI2FLs6u45VIkiMUvlZQJoCkQbyKMvbm?= =?us-ascii?Q?R7+rCo48jY9Bv/cwwd8qTYK/By9MP9oIsgBU64DCv+/gWwYkFNnhDtxxSb9S?= =?us-ascii?Q?ZSbE1JwPvO31MsS/3KS8xVG7zg+hS5Xvvd+H35hjgqOFOwdx9OZeprosjJeO?= =?us-ascii?Q?RgLqpmEKed8GazcQLmVMcv8NYQQHFT3f5+pKc5TGgHFQENAEVlX5exxQGQPn?= =?us-ascii?Q?rW6ogaU5VAr9st95zE0+bXvfRh+dQdkx/3BmeaTvE9EiNGNK4EJwJ9LDZa4u?= =?us-ascii?Q?NJtjodSNWZ3ELy2qE1tE5R+DlyyqpsP2OgjsQSeULkLo5HOcJn2yh7HmKw/H?= =?us-ascii?Q?eFwBuStrbB2xJ7dO30xUL8dLv0OCpMJBTZJq3IiBE7iF1VFwD5vm4K2WFTUf?= =?us-ascii?Q?jP/5xlAtKCVNwpI3QNlZmgNYSbvVu7T+Xw8r6TcmllHbYDsOK9xm5dMz6Sw?= =?us-ascii?Q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 2a9910f4-a4a3-4e0f-e26d-08dd82c23a94 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2025 23:54:47.4329 (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: BN0P223MB0213 Subject: Re: [FFmpeg-devel] [PATCH v5 02/14] fftools/textformat: Apply quality improvements X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/BN0P223MB03583CE2097B0746434B6E23BABA2@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> > -----Original Message----- > From: Stefano Sabatini <stefasab@gmail.com> > Sent: Donnerstag, 24. April 2025 00:35 > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Cc: softworkz <softworkz@hotmail.com> > Subject: Re: [FFmpeg-devel] [PATCH v5 02/14] fftools/textformat: Apply > quality improvements > > On date Tuesday 2025-04-22 21:55:31 +0000, softworkz wrote: > > From: softworkz <softworkz@hotmail.com> > > > > Perform multiple improvements to increase code robustness. > > In particular: > > - favor unsigned counters for loops > > - add missing checks > > > - avoid possibly leaks > > my typo: possible leaks Fixed! > > > - move variable declarations to inner scopes when feasible > > - provide explicit type-casting when needed > > > > Signed-off-by: softworkz <softworkz@hotmail.com> > > --- > > General nit about headline caseing: from the log most commit use > all lowercase in headline (I personally only use that form and at some > point everybody was using that). Looking at the 250 most recent commit messages, about 60% have an uppercase letter after the first colon. > > fftools/textformat/avtextformat.c | 85 ++++++++++++++++++++-------- > --- > > fftools/textformat/avtextformat.h | 6 +-- > > fftools/textformat/tf_default.c | 8 ++- > > fftools/textformat/tf_ini.c | 2 +- > > fftools/textformat/tf_json.c | 17 ++++--- > > fftools/textformat/tf_xml.c | 3 -- > > fftools/textformat/tw_avio.c | 11 +++- > > 7 files changed, 83 insertions(+), 49 deletions(-) > > > > diff --git a/fftools/textformat/avtextformat.c > b/fftools/textformat/avtextformat.c > > index 74d179c516..1939a1f739 100644 > > --- a/fftools/textformat/avtextformat.c > > +++ b/fftools/textformat/avtextformat.c > > @@ -93,9 +93,8 @@ static const AVClass textcontext_class = { > > > > static void bprint_bytes(AVBPrint *bp, const uint8_t *ubuf, size_t > ubuf_size) > > { > > - int i; > > av_bprintf(bp, "0X"); > > - for (i = 0; i < ubuf_size; i++) > > + for (unsigned i = 0; i < ubuf_size; i++) > > av_bprintf(bp, "%02X", ubuf[i]); > > } > > > > @@ -137,6 +136,9 @@ int avtext_context_open(AVTextFormatContext > **ptctx, const AVTextFormatter *form > > AVTextFormatContext *tctx; > > int i, ret = 0; > > > > + if (!ptctx || !formatter) > > + return AVERROR(EINVAL); > > + > > if (!(tctx = av_mallocz(sizeof(AVTextFormatContext)))) { > > ret = AVERROR(ENOMEM); > > goto fail; > > @@ -209,25 +211,26 @@ int avtext_context_open(AVTextFormatContext > **ptctx, const AVTextFormatter *form > > av_log(NULL, AV_LOG_ERROR, " %s", n); > > av_log(NULL, AV_LOG_ERROR, "\n"); > > } > > - return ret; > > + goto fail; > > } > > > > /* validate replace string */ > > { > > - const uint8_t *p = tctx->string_validation_replacement; > > - const uint8_t *endp = p + strlen(p); > > + const uint8_t *p = (uint8_t *)tctx- > >string_validation_replacement; > > + const uint8_t *endp = p + strlen((const char *)p); > > while (*p) { > > const uint8_t *p0 = p; > > int32_t code; > > ret = av_utf8_decode(&code, &p, endp, tctx- > >string_validation_utf8_flags); > > > if (ret < 0) { > > AVBPrint bp; > > - av_bprint_init(&bp, 0, AV_BPRINT_SIZE_AUTOMATIC); > > + av_bprint_init(&bp, 0, AV_BPRINT_SIZE_UNLIMITED); > > bprint_bytes(&bp, p0, p - p0), > > Is this really needed? AUTOMATIC should be faster since it will avoid > dynamic allocation and the need to finalize (although there is no > practical need for such optimization, this still seems the simplest > possible path). Besides, an UTF8 sequence cannot be longer than a few > bytes, so possibly av_utf8_decode cannot decode more than a few bytes. As replied earlier, AUTOMATIC is not faster or slower than UNLIMITED as long as the stack-allocated memory is sufficient. Only when it grows bigger: UNLIMITED will auto-allocate as needed and AUTOMATIC will truncate and you'd need to check for that. UNLIMITED gives you a "no-brain-pain-always-fine" behavior at the small cost of calling avbp_finalize(). sw _______________________________________________ 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".