From patchwork Sun Aug 21 01:36:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37372 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp587412pzh; Sat, 20 Aug 2022 18:37:25 -0700 (PDT) X-Google-Smtp-Source: AA6agR5XtktCVqs3Rd1c9ejZX3Ln6NI9UHEsx31yyI5QfVo/PlZVDRd9FxkrMawFLv8Ta1gPuP5E X-Received: by 2002:a05:6402:3698:b0:446:6a7c:43de with SMTP id ej24-20020a056402369800b004466a7c43demr4405926edb.414.1661045845175; Sat, 20 Aug 2022 18:37:25 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g12-20020a1709065d0c00b0073101e55d9fsi6821182ejt.797.2022.08.20.18.37.24; Sat, 20 Aug 2022 18:37:25 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=Ridy7Boc; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2A97168B9BD; Sun, 21 Aug 2022 04:37:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067019.outbound.protection.outlook.com [40.92.67.19]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D779968B45F for ; Sun, 21 Aug 2022 04:37:12 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ah3GEaE7ml38wMZuJFbQI9TvyJBgiUBrLszDOOQep4yyIJPLP4Fn6SytYeeuZmUhsXkpbOXBeSaMlUdaxbo6GXsO4cPa6AIC3n5XR34MU731YUmGGcdkK6eKMDMiGDAQG1c2eDEBAAPfwZ3D1N5elTDDcAe+cLymR2zkzxBUwtlKozhzcRha2k+J8z8wdDp1ncB6bvT+TyFJNl0uam/59VGkmeQTn/EJRj3e8eZYMCgmTYMvz+XKLyHxYWdnfigRV9c35UkjNsASDS7YIJZxKFXtuZv4ICzDpm0bp8IYV/2YplzYjT3Uw3Mwn6EoqJS9hGe5bWoOdjWxV1Msk3EmYg== 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=ntLa0gQ15E4iujm2UWvLNGX+Y9iWTiyFcuLgPtCHMRQ=; b=DbKxF8IxyRWpzKA2gDeJz5fydaDjeHIblbRb6MXJlaIxbKRtyI1ATo04mHBLTbZ7Ohx4KDiBFIgHSezBSIsQmmcdALOFe3PHDsxDyPuIhl9gx9YXhZCTEyULB3EmBax+tp5mGmd2gdGT5Ljnz7LYoZuVNLCw8DRia+BxfmSUzq6Q944SvSnTEag9brec0K4/AyC1qsTWX5iKYucqTaadlHOFtc6WLN+5Yv6Mti5Ei8NEpUzZJI4HjlW5BKTmGkdqqjxCNpWRXnhNQmDOsyNjuNUXw8l1YIx/qdMEwFbk0iiSjpXObqlUVX9RaKXtD9qMZE9yZBW7lqAdF2SqIxIy5Q== 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=ntLa0gQ15E4iujm2UWvLNGX+Y9iWTiyFcuLgPtCHMRQ=; b=Ridy7BocS4ch6WJGMWQFZl/LLTGtLUbvDp3JY64Ej7+UsLwlIiAmYQDjB9SmR4DxSDkMx/qBtOQMwBDTb+w88ziSqz5StZUj3EmSibjfqtA56IL8iJrub3qoJElXijZnNAYX5xZT45oheN8ON19Gz5RyKNDjz1XYCz7H8jXPEE0mDLkRt6/gh00kRhP1TjjZvNeL+OK6gB4DpLsQyiFvq4J9KLXh5KQkIFHb6edV/Kt8Kv5B8yJJneEqccKLvlPyrtIO+FMHlKMphoLKqcLbRAwPxnUKI14iazfJKAAlEFcPXihmBf3yzlBOaM+oDw0gMOZIkN593EXo0ul0ZTRqmA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM5PR0102MB2819.eurprd01.prod.exchangelabs.com (2603:10a6:206:5::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Sun, 21 Aug 2022 01:37:07 +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.021; Sun, 21 Aug 2022 01:37:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Aug 2022 03:36:55 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Q2DF5IJtpBlvTiBPawJDfHLC9pxhVW/Y] X-ClientProxiedBy: ZRAP278CA0005.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::15) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220821013656.1345943-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8fc06613-1ccc-47e4-8aab-08da8315a88d X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSZafVhYkhL3mEj/gWHL/2XJ1JLbF7FXYZy+HWFF+kayiHF2IkOOGcF6oMMyWQtVeTK3ypohd7XWni+5HxnJ+IdxPJRIRSeh/fw6aQycnDyXjxE5K0YwHI41oBmfUaojVDvZKsMJyt5eA/gxFA1xiLUL/WmJ2gK8iQy2lxEjXTtO59Ue1BDPdqEtv2SEIcMviU0SthAxpkpUwO96Ecc40lCYHhUSoLlTYFv5Z9y+SW2asKuYRXK7krWWtILFBgtDAwPGvDCJhKcTCD6Yc2Z00wFCcYLlKzvX2SdQZjuV1tcnpiGrIKMd7gWP8VBiZghSVVkQuU/1cH9WnjFlFKqJTSI/VxkUj7wQN6AN7FLqtE8Aupf/pP06zTc5jp1sVPzoxiWusY90DksuUETN18YG0tNi+ccVAtDS9jO3kK+WK6IH7nXD5UaFLgLvpi2DcSDe4gnEeCion0uafxt5wUbaTZpja228CbS2aUN1iBUbp8322izq75WtN8MyQOTTtiBCipV+OXjq6zwklFj0sxCSVa+ab+I28rHXazob42YSfd0R1OpocE3fNm1Qqu00WabpZ1PfIVHt5dXXJQ4Bm561UxcvlIFgaA6PEsebzQcEWdem8kuy7JY59Mo5leZ+7oCO0gqzUt9wMIpnfUiLJAdMQNrhB+6OVrfJYXhRN3/pv65iJDS2OIqPWzilC6cEzkm1tMrjrdikBMCjo9h7gBlRDK2dEhPMkp12hMYNSpg/evn/u1h8Spw5PvKMsk2tDewYQw= X-MS-TrafficTypeDiagnostic: AM5PR0102MB2819:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Kct59dw2keqx8oPG+/XA8cZgRf7FRSwu9eJCiWlZU5IhLQ9MTB81lqPUk8XiEhHxtrg1oDDwQ4BYXwMNfx7AMkUo77QkVBzuBApm0VoQdfRM+ZAC81dy10dUT9UictIR/Q5dqLMzlRpdpobX+UlelfFzn/qBSsS7jjESuW/sDGj++8QdPspmz8hsFp5fFBpC9n90533RNN3ruu9NB42ddZ1Kbd2znV5nVeVy6qmWBjs32xY4rMxUxBiZIEYzu158JtakrwbLjW9XfZQH7B/trwyWExo73z2HGOwaTxfFNZKD6/BeLxVcZ/6SWqdLC/EKpeWf94S8q9ltLaKdg/Rli5sD7nwH/IZH3Yr6W8DLPxDsEHAtgZmcDw9YCsor93SAadKw0NZpJiEp/xagNH9CA/NZGyg/Bb36OqIpYsHcQn3x+lF2NpA2nSwjXypX9AH8TSZxHcq8YJ98c/as6Id36cuvyudE0dA+jnnTPDte231Q8ejhlAEZVtvy23YbLmbtzddtaw3xwdpSpfBTpB7bHtHTPgQ0zpHxl8c/fRWJp1YvvvajnHCW7SmLqSXGEcDhfsmQ/GrwaUQjGJm3lxp2+KLcvCDEdp//KP0++FH3LarDSesG9EXaO2LCr/qPFYeObPugP1P/qNpeFsgpaNzEpA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4UonQYHoYzhUk4e3hclaf82XvAkZTzcByWaesOOZRESxYTwpEnE2E7KHWRGQbRjoqtaEniJobuRbA8OVoSYPzjUW0zqMLIKwN/V5L0Y2K30flexA2nXcyLFPbTqzN+6EF60dOUE9vz6WzXFwBz70RxyX+k9/Ig/tlGf1q8+lvDfpSxb0TICI9k2e2UqqPJCil6vgQi/6STNwJZ60WmwXFPvF/Owi1+5/fz2p8TAQF3EiuaXq2LvR9l6sanqY7npnh+T8RydwPGu6wihDhhbyFSu1nfn9hx4s3QTmb7HbplDgUqSQdtS49FnYS4webhRPayXACdayyXiQdVTttLy8ZA1Ir39zNd8uJrThlnc7DRLPUCoQz3vLiSM3lyAVfE2OkdS6tm89s2Cn87csx8/pAA7NAXBp9Qx90i0Vl6wD3rEBWbZ3OhG8+s0swzPpX0cAOZVLzGGDStJ1ydaBIXb1SHlJzRELMTT5bxoxlzd7tVpG2Ft54MdsTinWdtYvIt426tWJXf/PExzVkir9l/6hi+KvjqXc5p84dlxGahmPSUnJBGobfxheO83UMWUEJsH6CliHbHn5xdShChk4by64QdK9/T+CLJXx9ENb10ktL5K+WGsbt7KUsEzSNCzMYJ3c+KzMbw4GRYqvnWUcvQDuCyV4YIIPSB/wKd3fZ/96cWLDcrv8E8BlClEmsxVVsQFvPMdUvHV6OldXzl8LJ1vF9AP6Vy5/wnMiobp0KB0J9SW9fp7QjdNayqo0+FobF2PU3lOcSMS5lwKUnnxwwZVl9uskAdhIicKKk/UsP5N+Kkep80ZzIyLanQEp7p3/2cwAiXN8ZRe0MOamCRKXhoXPu5E9fQEaVeCfejO8GUC4MZNen+OBYXjaaL+t5qwRsBhJf9QMMHZJvIq2ZKA0FSYXdtJyL/Y+OL/dyPbZqaWzAlJaLHghn2tqNE8/iLBa1C1o7okgU3r/pIDdE1jIxNGzFOYPjHyb0i/SjlEEL0HdEgpKsHp7JrZVmLzT80etEalQe9SGzm/AyE+wUyv9qcE+CLomkkE7FQ73q9gDEjkjiHE7kfnzl3gKqUSBDQqulm5g6leF/6nfKGACMOJE5gAxekE2ffMltrqOFiFxegZXd/x5Pe2lXR84TUxFUij9JRRz3OlnTYpnASVxkOQRI6giJ2/3gk4Dy7XFQPeL5yUXmpkfjco/UbuW6hiAB1LAHr8i+Y+Hzl/tnpRaNxaEhSXgPCGAv+bcHuB5NtfdX1h26nQcE1I4KAfLhYNOQJSpXWZPFRrv+Ok1U3dId596mh0VpNronQ0KlxRsXHEm7rftzWQ= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8fc06613-1ccc-47e4-8aab-08da8315a88d X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2022 01:37:07.4559 (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: AM5PR0102MB2819 Subject: [FFmpeg-devel] [PATCH 3/4] avcodec/pngdec: Use char* instead of uint8_t* for text 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: nP4fiDZMw7Yr Also stop casting const away. Signed-off-by: Andreas Rheinhardt --- libavcodec/pngdec.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 189c3eee89..132ad40dc9 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -496,20 +496,20 @@ fail: return ret; } -static uint8_t *iso88591_to_utf8(const uint8_t *in, size_t size_in) +static char *iso88591_to_utf8(const char *in, size_t size_in) { size_t extra = 0, i; - uint8_t *out, *q; + char *out, *q; for (i = 0; i < size_in; i++) - extra += in[i] >= 0x80; + extra += !!(in[i] & 0x80); if (size_in == SIZE_MAX || extra > SIZE_MAX - size_in - 1) return NULL; q = out = av_malloc(size_in + extra + 1); if (!out) return NULL; for (i = 0; i < size_in; i++) { - if (in[i] >= 0x80) { + if (in[i] & 0x80) { *(q++) = 0xC0 | (in[i] >> 6); *(q++) = 0x80 | (in[i] & 0x3F); } else { @@ -525,9 +525,10 @@ static int decode_text_chunk(PNGDecContext *s, GetByteContext *gb, int compresse int ret, method; const uint8_t *data = gb->buffer; const uint8_t *data_end = gb->buffer_end; - const uint8_t *keyword = data; - const uint8_t *keyword_end = memchr(keyword, 0, data_end - keyword); - uint8_t *kw_utf8 = NULL, *text, *txt_utf8 = NULL; + const char *keyword = data; + const char *keyword_end = memchr(keyword, 0, data_end - data); + char *kw_utf8 = NULL, *txt_utf8 = NULL; + const char *text; unsigned text_len; AVBPrint bp; @@ -546,8 +547,8 @@ static int decode_text_chunk(PNGDecContext *s, GetByteContext *gb, int compresse text = bp.str; text_len = bp.len; } else { - text = (uint8_t *)data; - text_len = data_end - text; + text = data; + text_len = data_end - data; } kw_utf8 = iso88591_to_utf8(keyword, keyword_end - keyword);