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 1wCMCg-001tvt-1X for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Apr 2026 18:40:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wCMCe-008KaA-2e for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Apr 2026 18:40:09 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wCMCe-008Ka1-1N for pgsql-hackers@lists.postgresql.org; Mon, 13 Apr 2026 18:40:09 +0000 Received: from mail-dl1-x122e.google.com ([2607:f8b0:4864:20::122e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wCMCd-00000000t1r-0cxW for pgsql-hackers@postgresql.org; Mon, 13 Apr 2026 18:40:09 +0000 Received: by mail-dl1-x122e.google.com with SMTP id a92af1059eb24-126ea4b77adso12850229c88.1 for ; Mon, 13 Apr 2026 11:40:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20251104.gappssmtp.com; s=20251104; t=1776105605; x=1776710405; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=i/TJMALgB4l3AJ2EqkLd6+iY2uDHHp+Gq8/kVMUgrc4=; b=ob3MMwZfF+IMt4tnEF8Usn8m9IDvcjmzPh74BvAP1v85gLLUYzH0MLjTFVYv0RHnc8 hLwuF/EI7pozMoxu7QIOBFeZ6nxXRKCOLDzP/A/Wtck5uj5CpxM8gxwclb0B1dHUpbiw 9svyUp1mR8zrmAdZwvtt18qtDMKb0yIXBng/4tCrDR7MD7tz9IEjV7wkygplbvJSrpde 6htOIut/oVx65cWSq94wBXMCB2wTaRlAAA5QeFFNO3/hijPGugD1XCwggKOBVzp2MP1a MGJegG93bJK1eKFOO5bUaKYIsCFs+rm8WqCypLL+i3Q9K/yVWCKtQwn9xcaNwyrQUPlI gstw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776105605; x=1776710405; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=i/TJMALgB4l3AJ2EqkLd6+iY2uDHHp+Gq8/kVMUgrc4=; b=SloqBN74yLZCjAbGMlwoThq0Lu1EfRABSi+ELRTvjvugp4FRfKlU5t5GO9qoXYmCGz STXi/cB54bMyspvnugvNGk8WEraJxRqEm5lEkejLPoMvJ2HM6C/f0VEiq4nRC0quQJSp 3i5NbQVnKCHzRcJo55442MbPxqzc8n/srH1WDMfECzH+mNn05U3kdurZJ5JFp49NjMo6 z3+G2T6m5mXafTGmDSVWeYZt4zkZ+YCqTor479FHLK6GDBJokOgCovNYOjKMgWRrksg2 OnnJDg7z7/FXqMVVw0VpWKXI/fP02nbFFRx36qW2JtPRRaJW3+GuAkrqXmTMX/rSBF3d xa1w== X-Forwarded-Encrypted: i=1; AFNElJ9L2SQGlW/Hs/qvGU38E/CNvdw8XCIA0k8d+Wq+EuVfc6Ls2PPz9Zf/jewtef/s5o+werZZoMt1JXRLY0ww@postgresql.org X-Gm-Message-State: AOJu0YyvJwKlL8J8m42ipB0NEJzKS3iNyXBrNH8Nx1k/OLP72V0z2IuM 0XMYvvRex1IbZSUydHsNkJvx8K3llj7VneiSVElWARrEC+55gYbDjqW8fEhRPNaymA== X-Gm-Gg: AeBDies1PyTdBYMaITuHmFZElNUrIVabUoJnzS2p9mA1NQ57sPVA409uLjOXVpKYYsm eoywx4SW+NUe7PoyJ3/x8gHGXp5sIvrF1ow14bzCszN7g/7FreQzTo7al6v8xepRXt94X6FkuTa Rdqta8oYcmwBhKodjUeRh3ma1jNQ0dcT5ei2yCt8Iyti1CexVzIslsANDH88MJ5ByJq8F0oaXjF fnJpQjRfa602nAu5g48kzRqGAaCMsmzkewyXYZNx9GnDcCGMI62lHVHtG57xfMrwxm0lI4PVn4z 1P11CpHEombXNZ2NTrqRaaB3n0fV34vVvsNK8lhOzT312Fyj+dKs0p4KM52Eods3yGB7bJ386HL C3uFFvtDQ2L5vXD+8EhaL7/REj9VJjhpKg4kxb/2lDmQmtXnB/cpC/rCUNcbeRnICrztdlGp43i Ii5wRvYk17cWjzgv3g/WSdMrdOWm9xYPg= X-Received: by 2002:a05:7022:790:b0:12a:b932:81d3 with SMTP id a92af1059eb24-12c34eeb76fmr7605170c88.26.1776105604782; Mon, 13 Apr 2026 11:40:04 -0700 (PDT) Received: from [10.10.247.3] ([12.63.242.122]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2d562db64c4sm17331737eec.27.2026.04.13.11.40.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 11:40:04 -0700 (PDT) Message-ID: <84006e443ef2dcfcbff8dcb3814c0c402b8ff7fd.camel@j-davis.com> Subject: Re: Speed up ICU case conversion by using ucasemap_utf8To*() From: Jeff Davis To: Andreas Karlsson , Alexander Lakhin , zengman , pgsql-hackers Date: Mon, 13 Apr 2026 11:40:03 -0700 In-Reply-To: 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> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2026-04-01 at 02:46 +0200, Andreas Karlsson wrote: > On 3/12/26 5:00 AM, Alexander Lakhin wrote: > > I've discovered that starting from c4ff35f10, the following query: > > CREATE COLLATION c (provider =3D icu, locale =3D 'icu_something'); > >=20 > > makes asan detect (maybe dubious, but still..) stack-buffer- > > overflow: > > =3D=3D21963=3D=3DERROR: AddressSanitizer: stack-buffer-overflow on addr= ess=20 >=20 > My proposed fix is that we allocate a ULOC_LANG_CAPACITY buffer for > the=20 > language like we do in fix_icu_locale_str() instead of trying to be=20 > clever. Thank you both! Committed with minor revisions: * also check the status code, just to be sure * backport to 18 where the original code was introduced Regards, Jeff Davis