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 1vqY3V-00CtgB-06 for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 14:52:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqY3U-009HTm-15 for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 14:52:33 +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 1vpEoH-008oqZ-2q for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:25 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vpEoC-00000001CBw-3o0N for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Date:Message-Id:Subject:To:From:MIME-Version: Content-Type:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=N0oYPG5TkmpZH8H39Zr1Z9snKbufcM6FTiIBvPofN1M=; b=qLIBksn+m7Q2q3dlpKXDZQTbgi dIq2rdhqwcl7qgj/slgfFZWgqGMug1DmSPEmX1a9P7S4RoScgThZyGQE3KMY9tr4CN3Lbf0rD5PDw 1zfI1WagI5+HqH/kVORklrBu5+Ro48reqiQuqLuOfiybs+wH4OrrN+4AKMOgziMe3ooRNaT03ZRJc 9w98ISdt7IqjtN/gKI9DSZsajDrCX9zBOWA0tBWBGvf4TCd+EDuduAGNdAXWSOx/5rJvx2Vd4MKC2 FN3BHD3cK4JjuI8v/+TBEvaEfhFGJFrFvKC1kLGYT9TQAKSwwe+lySWIKEBsqRuc35AZ3Etwb/i6T LcwJDLxQ==; Received: from gemulon.postgresql.org ([2001:4800:3e1:1::198]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vpEoB-00541C-22 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:20 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vpEoB-001x0b-0b for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:19 +0000 Content-Type: multipart/mixed; boundary="===============3435580727969351985==" MIME-Version: 1.0 From: Thomas Munro To: pgsql-committers@lists.postgresql.org Subject: pgsql: Replace pg_mblen() with bounds-checked versions. X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Mon, 09 Feb 2026 00:07:19 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============3435580727969351985== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 UmVwbGFjZSBwZ19tYmxlbigpIHdpdGggYm91bmRzLWNoZWNrZWQgdmVyc2lvbnMuCgpBIGNvcnJ1 cHRlZCBzdHJpbmcgY291bGQgY2F1c2UgY29kZSB0aGF0IGl0ZXJhdGVzIHdpdGggcGdfbWJsZW4o KSB0bwpvdmVycnVuIGl0cyBidWZmZXIuICBGaXgsIGJ5IGNvbnZlcnRpbmcgYWxsIGNhbGxlcnMg dG8gb25lIG9mIHRoZQpmb2xsb3dpbmc6CgoxLiBDYWxsZXJzIHdpdGggYSBudWxsLXRlcm1pbmF0 ZWQgc3RyaW5nIG5vdyB1c2UgcGdfbWJsZW5fY3N0cigpLCB3aGljaApyYWlzZXMgYW4gImlsbGVn YWwgYnl0ZSBzZXF1ZW5jZSIgZXJyb3IgaWYgaXQgZmluZHMgYSB0ZXJtaW5hdG9yIGluIHRoZQpt aWRkbGUgb2YgdGhlIHNlcXVlbmNlLgoKMi4gQ2FsbGVycyB3aXRoIGEgbGVuZ3RoIG9yIGVuZCBw b2ludGVyIG5vdyB1c2UgZWl0aGVyCnBnX21ibGVuX3dpdGhfbGVuKCkgb3IgcGdfbWJsZW5fcmFu Z2UoKSwgZm9yIHRoZSBzYW1lIGVmZmVjdCwgZGVwZW5kaW5nCm9uIHdoaWNoIG9mIHRoZSB0d28g c2VlbXMgbW9yZSBjb252ZW5pZW50IGF0IGVhY2ggc2l0ZS4KCjMuIEEgc21hbGwgbnVtYmVyIG9m IGNhc2VzIHByZS12YWxpZGF0ZSBhIHN0cmluZywgYW5kIGNhbiB1c2UKcGdfbWJsZW5fdW5ib3Vu ZGVkKCkuCgpUaGUgdHJhZGl0aW9uYWwgcGdfbWJsZW4oKSBmdW5jdGlvbiBhbmQgQ09QWUNIQVIg bWFjcm8gc3RpbGwgZXhpc3QgZm9yCmJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGJ1dCBhcmUgbm8g bG9uZ2VyIHVzZWQgYnkgY29yZSBjb2RlIGFuZCBhcmUKaGVyZWJ5IGRlcHJlY2F0ZWQuICBUaGUg c2FtZSBhcHBsaWVzIHRvIHRoZSB0X2lzWFhYKCkgZnVuY3Rpb25zLgoKU2VjdXJpdHk6IENWRS0y MDI2LTIwMDYKQmFja3BhdGNoLXRocm91Z2g6IDE0CkNvLWF1dGhvcmVkLWJ5OiBUaG9tYXMgTXVu cm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+CkNvLWF1dGhvcmVkLWJ5OiBOb2FoIE1pc2NoIDxu b2FoQGxlYWRib2F0LmNvbT4KUmV2aWV3ZWQtYnk6IEhlaWtraSBMaW5uYWthbmdhcyA8aGxpbm5h a2FAaWtpLmZpPgpSZXBvcnRlZC1ieTogUGF1bCBHZXJzdGUgKGFzIHBhcnQgb2YgemVyb2RheS5j bG91ZCkKUmVwb3J0ZWQtYnk6IE1vcml0eiBTYW5mdCAoYXMgcGFydCBvZiB6ZXJvZGF5LmNsb3Vk KQoKQnJhbmNoCi0tLS0tLQpSRUxfMThfU1RBQkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9n aXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi83YjVmYzg1YmVmOGEzYmFhNTMwZWM5OGY4 OTM3NmY5ZDRiN2RlODNjCgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpjb250cmliL2J0 cmVlX2dpc3QvYnRyZWVfdXRpbHNfdmFyLmMgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvZGljdF94 c3luL2RpY3RfeHN5bi5jICAgICAgICAgICAgfCAgIDQgKy0KY29udHJpYi9oc3RvcmUvaHN0b3Jl X2lvLmMgICAgICAgICAgICAgICB8ICAgMiArLQpjb250cmliL2x0cmVlL2NyYzMyLmMgICAgICAg ICAgICAgICAgICAgIHwgICAzICstCmNvbnRyaWIvbHRyZWUvbHF1ZXJ5X29wLmMgICAgICAgICAg ICAgICAgfCAgIDQgKy0KY29udHJpYi9sdHJlZS9sdHJlZS5oICAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQpjb250cmliL2x0cmVlL2x0cmVlX2lvLmMgICAgICAgICAgICAgICAgIHwgICA4ICst CmNvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMgICAgICAgICAgICAgfCAgIDIgKy0KY29udHJp Yi9wYWdlaW5zcGVjdC9oZWFwZnVuY3MuYyAgICAgICAgICB8ICAgMiArLQpjb250cmliL3BnX3Ry Z20vdHJnbS5oICAgICAgICAgICAgICAgICAgIHwgICAyICstCmNvbnRyaWIvcGdfdHJnbS90cmdt X29wLmMgICAgICAgICAgICAgICAgfCAgNTIgKysrKysrKy0tLS0KY29udHJpYi9wZ190cmdtL3Ry Z21fcmVnZXhwLmMgICAgICAgICAgICB8ICAyMyArKy0tLQpjb250cmliL3BnY3J5cHRvL2NyeXB0 LXNoYS5jICAgICAgICAgICAgIHwgICAyICstCmNvbnRyaWIvdW5hY2NlbnQvdW5hY2NlbnQuYyAg ICAgICAgICAgICAgfCAgIDUgKy0Kc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wcm9jLmMgICAgICAg ICAgICB8ICAgMiArLQpzcmMvYmFja2VuZC90c2VhcmNoL2RpY3Rfc3lub255bS5jICAgICAgIHwg ICA0ICstCnNyYy9iYWNrZW5kL3RzZWFyY2gvZGljdF90aGVzYXVydXMuYyAgICAgfCAgIDggKy0K c3JjL2JhY2tlbmQvdHNlYXJjaC9yZWdpcy5jICAgICAgICAgICAgICB8ICAzNyArKysrLS0tLQpz cmMvYmFja2VuZC90c2VhcmNoL3NwZWxsLmMgICAgICAgICAgICAgIHwgIDgxICsrKysrKysrLS0t LS0tLS0tCnNyYy9iYWNrZW5kL3RzZWFyY2gvdHNfbG9jYWxlLmMgICAgICAgICAgfCAgNjEgKysr KysrKy0tLS0tLQpzcmMvYmFja2VuZC90c2VhcmNoL3RzX3V0aWxzLmMgICAgICAgICAgIHwgICAy ICstCnNyYy9iYWNrZW5kL3RzZWFyY2gvd3BhcnNlcl9kZWYuYyAgICAgICAgfCAgIDMgKy0Kc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L2VuY29kZS5jICAgICAgICAgICB8ICAgNiArLQpzcmMvYmFja2Vu ZC91dGlscy9hZHQvZm9ybWF0dGluZy5jICAgICAgIHwgIDIyICsrLS0tCnNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9qc29uZnVuY3MuYyAgICAgICAgfCAgIDIgKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L2pzb25wYXRoX2dyYW0ueSAgICB8ICAgMyArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvbGV2ZW5z aHRlaW4uYyAgICAgIHwgIDE0ICstLQpzcmMvYmFja2VuZC91dGlscy9hZHQvbGlrZS5jICAgICAg ICAgICAgIHwgIDE4ICsrLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2xpa2VfbWF0Y2guYyAgICAg ICB8ICAgMyArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvb3JhY2xlX2NvbXBhdC5jICAgIHwgIDMz ICsrKystLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JlZ2V4cC5jICAgICAgICAgICB8ICAgOSAr LQpzcmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeS5jICAgICAgICAgIHwgIDEzICsrLQpzcmMv YmFja2VuZC91dGlscy9hZHQvdHN2ZWN0b3IuYyAgICAgICAgIHwgIDExICstLQpzcmMvYmFja2Vu ZC91dGlscy9hZHQvdHN2ZWN0b3Jfb3AuYyAgICAgIHwgIDEwICsrLQpzcmMvYmFja2VuZC91dGls cy9hZHQvdHN2ZWN0b3JfcGFyc2VyLmMgIHwgIDE5ICsrLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3ZhcmJpdC5jICAgICAgICAgICB8ICAgOCArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvdmFybGVu YS5jICAgICAgICAgIHwgIDM4ICsrKysrLS0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyAg ICAgICAgICAgICAgfCAgMTEgKystCnNyYy9iYWNrZW5kL3V0aWxzL21iL21idXRpbHMuYyAgICAg ICAgICAgfCAxNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQpzcmMvaW5jbHVkZS9t Yi9wZ193Y2hhci5oICAgICAgICAgICAgICAgIHwgICA3ICsrCnNyYy9pbmNsdWRlL3RzZWFyY2gv dHNfbG9jYWxlLmggICAgICAgICAgfCAgMzAgKysrKysrLQpzcmMvaW5jbHVkZS90c2VhcmNoL3Rz X3V0aWxzLmggICAgICAgICAgIHwgIDE0ICsrLQpzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfcmVnZXgv dGVzdF9yZWdleC5jIHwgICAzICstCjQzIGZpbGVzIGNoYW5nZWQsIDQ4NiBpbnNlcnRpb25zKCsp LCAyNjggZGVsZXRpb25zKC0pCgo= --===============3435580727969351985==--