Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wCRe6-001zYu-0t for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2026 00:28:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wCRe4-0094Wh-1f for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2026 00:28:49 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wCRe4-0094WZ-0k for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2026 00:28:49 +0000 Received: from smtp.outgoing.loopia.se ([93.188.3.37]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wCRe2-00000000tB9-1Qey for pgsql-hackers@postgresql.org; Tue, 14 Apr 2026 00:28:48 +0000 Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id 0FC825B36A8 for ; Tue, 14 Apr 2026 02:28:43 +0200 (CEST) Received: from s981.loopia.se (unknown [172.22.191.5]) by s807.loopia.se (Postfix) with ESMTP id F05C55B2A73; Tue, 14 Apr 2026 02:28:42 +0200 (CEST) Received: from localhost (unknown [172.22.191.5]) by s981.loopia.se (Postfix) with ESMTP id ED57C22B167C; Tue, 14 Apr 2026 02:28:42 +0200 (CEST) X-Virus-Scanned: amavis at amavis.loopia.se X-Spam-Flag: NO X-Spam-Score: -1.2 X-Spam-Level: X-Spam-Status: No, score=-1.2 tagged_above=-999 required=6.2 tests=[ALL_TRUSTED=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1] autolearn=disabled Authentication-Results: s470.loopia.se (amavis); dkim=pass (2048-bit key) header.d=proxel.se Received: from s934.loopia.se ([172.22.191.6]) by localhost (s470.loopia.se [172.22.190.34]) (amavis, port 10024) with LMTP id sXvVu66pKAKa; Tue, 14 Apr 2026 02:28:42 +0200 (CEST) X-Loopia-Auth: user X-Loopia-User: andreas@proxel.se X-Loopia-Originating-IP: 185.212.218.218 Received: from [172.16.38.83] (unknown [185.212.218.218]) (Authenticated sender: andreas@proxel.se) by s934.loopia.se (Postfix) with ESMTPSA id 145AD917F07; Tue, 14 Apr 2026 02:28:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxel.se; s=loopiadkim1707418970; t=1776126522; bh=/X4fGeiepML5xAqIeOgMfW+wjqWVQJxm6FjE62s1NuQ=; h=Date:Subject:From:To:References:In-Reply-To; b=jZE08lSX6FJQdVEFOAuLY5JwTHj7jAMaUq31Q1tF0ApQqi/78EVOR0bKcMQ2dyzVF rejOfQDVqotZjmEbSWkdm3zOrXW3vRGu70ngN8F8mOCsvPfFNUb7FZT2Ad5tFKKdf9 9i6QCgA9n8XUu71sRYmHnTRnEdci5UUDrTU3cT/ngpnyPEj2HOCUFv7HtHahlySPDc dXkZgENPAVUIx9zPgW+LNf3pONRi/lbE9i6XKakQI1xrmV07EivYNNReieqN/b2qXQ J/uVvY4GbE6s+FQp37ltiaJ2J0Yo53Xgv7k/8NwagFAqrvqD+3pPrYv9BeD1FYwsdp 8fBy+hr8VH/iw== Content-Type: multipart/mixed; boundary="------------GY7dRM8kwypfCYyCg9W3RSXm" Message-ID: <79711ab8-9c54-4574-9705-21ae7ca0b551@proxel.se> Date: Tue, 14 Apr 2026 02:28:41 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Speed up ICU case conversion by using ucasemap_utf8To*() From: Andreas Karlsson To: Jeff Davis , Alexander Lakhin , zengman , pgsql-hackers References: <167986ff-afcf-4542-94c6-61ee8474e138@proxel.se> <72c7c2b5848da44caddfe0f20f6c7ebc7c0c6e60.camel@j-davis.com> <4cfde442-25dd-495f-8d76-a23502ce17b8@proxel.se> <744b9998-4463-4be5-b60e-a960eeb43202@proxel.se> <5a010b27-8ed9-4739-86fe-1562b07ba564@proxel.se> <96d80a47-f17f-42fa-82b1-2908efbd6541@gmail.com> <84006e443ef2dcfcbff8dcb3814c0c402b8ff7fd.camel@j-davis.com> <118ca69e-47eb-42e1-83e9-72ccf40dd6fd@proxel.se> Content-Language: en-US In-Reply-To: <118ca69e-47eb-42e1-83e9-72ccf40dd6fd@proxel.se> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------GY7dRM8kwypfCYyCg9W3RSXm Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/14/26 02:20, Andreas Karlsson wrote: > If we do that shouldn't we also do the same in the other callsites in > initdb.c uloc_getLanguage()? Maybe something like the attached. Also I > wonder if maybe other ICU functions have the same risk. Now attached without a stupid typo. Andreas --------------GY7dRM8kwypfCYyCg9W3RSXm Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Always-check-for-untermianted-strings-when-callin.patch" Content-Disposition: attachment; filename*0="v2-0001-Always-check-for-untermianted-strings-when-callin.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyNGJiODAzMDA1ZDBhZjBiYjM3MWYyMmQwYjZhYzIwZmI1MGJkYzBkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIEthcmxzc29uIDxhbmRyZWFzLmthcmxz c29uQHBlcmNvbmEuY29tPgpEYXRlOiBUdWUsIDE0IEFwciAyMDI2IDAyOjEyOjE1ICswMjAw ClN1YmplY3Q6IFtQQVRDSCB2Ml0gQWx3YXlzIGNoZWNrIGZvciB1bnRlcm1pYW50ZWQgc3Ry aW5ncyB3aGVuIGNhbGxpbmcKIHVsb2NfZ2V0TGFuZ3VhZ2UoKQoKLS0tCiBzcmMvYmluL2lu aXRkYi9pbml0ZGIuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL2luaXRkYi9pbml0ZGIu YyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCmluZGV4IDUwOWYxMTE0ZWY2Li4yZWU4MzRm MDc2NSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMKKysrIGIvc3JjL2Jp bi9pbml0ZGIvaW5pdGRiLmMKQEAgLTI0MDMsNyArMjQwMyw3IEBAIGljdV92YWxpZGF0ZV9s b2NhbGUoY29uc3QgY2hhciAqbG9jX3N0cikKIAkvKiB2YWxpZGF0ZSB0aGF0IHdlIGNhbiBl eHRyYWN0IHRoZSBsYW5ndWFnZSAqLwogCXN0YXR1cyA9IFVfWkVST19FUlJPUjsKIAl1bG9j X2dldExhbmd1YWdlKGxvY19zdHIsIGxhbmcsIFVMT0NfTEFOR19DQVBBQ0lUWSwgJnN0YXR1 cyk7Ci0JaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorCWlmIChVX0ZBSUxVUkUoc3RhdHVzKSB8 fCBzdGF0dXMgPT0gVV9TVFJJTkdfTk9UX1RFUk1JTkFURURfV0FSTklORykKIAl7CiAJCXBn X2ZhdGFsKCJjb3VsZCBub3QgZ2V0IGxhbmd1YWdlIGZyb20gbG9jYWxlIFwiJXNcIjogJXMi LAogCQkJCSBsb2Nfc3RyLCB1X2Vycm9yTmFtZShzdGF0dXMpKTsKQEAgLTI0MjMsNyArMjQy Myw3IEBAIGljdV92YWxpZGF0ZV9sb2NhbGUoY29uc3QgY2hhciAqbG9jX3N0cikKIAogCQlz dGF0dXMgPSBVX1pFUk9fRVJST1I7CiAJCXVsb2NfZ2V0TGFuZ3VhZ2Uob3RoZXJsb2MsIG90 aGVybGFuZywgVUxPQ19MQU5HX0NBUEFDSVRZLCAmc3RhdHVzKTsKLQkJaWYgKFVfRkFJTFVS RShzdGF0dXMpKQorCQlpZiAoVV9GQUlMVVJFKHN0YXR1cykgfHwgc3RhdHVzID09IFVfU1RS SU5HX05PVF9URVJNSU5BVEVEX1dBUk5JTkcpCiAJCQljb250aW51ZTsKIAogCQlpZiAoc3Ry Y21wKGxhbmcsIG90aGVybGFuZykgPT0gMCkKLS0gCjIuNDMuMAoK --------------GY7dRM8kwypfCYyCg9W3RSXm--