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-00CtgD-11 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-009HTo-19 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 1vpEpG-008otQ-18 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:08:26 +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 1vpEpC-00000001CDI-0XHH for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:08:25 +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=6UByJ7qzAuVGwrU5wHiPWaKRWMe97gekF0HjlQiFxiY=; b=DZZK52RtRLZqOHnV3XpEr7viR7 HohPZyrWaUFXEjvUWghZ/IB50VaXq5bPKswI6/pSyJWwNv89tO7gPIAOwMwEdSL8E4/1eJEnLFBcb KcfNKAxJSg5qILGZXlDOPcrTlqrxW+I8hSdxvZZX2hEG5+PrTxhdGMpAb/NU555x3tM5EzAoauK8B UeBnhdNxq8oSpMfJ7b/31FuGRPnUifuqLo6XWBVGr+cKtn6HC7b5iqpn8Vsh/VaXaIh0THU5LEQkP qjOCHyy6WIIC40aCqYlW89W5G3djvoO7zqeOdR50DNHYfJ6UAKfOAcWYjJLj5URCGBv2gYraDWNJv m0s+gp6g==; Received: from gemulon.postgresql.org ([72.32.157.198]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vpEpB-00543M-0n for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:08:21 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vpEpA-001x5r-2q for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:08:21 +0000 Content-Type: multipart/mixed; boundary="===============4066737107042452105==" 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:08:21 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============4066737107042452105== 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 KQoKQnJhbmNoCi0tLS0tLQpSRUxfMTRfU1RBQkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9n aXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi9jZWNlZGI5MTJhZWVhMzkxMzMyYmNiMzA3 ZDhlMDg5MjY2ZGJiMmJlCgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpjb250cmliL2J0 cmVlX2dpc3QvYnRyZWVfdXRpbHNfdmFyLmMgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvZGljdF94 c3luL2RpY3RfeHN5bi5jICAgICAgICAgICAgfCAgIDggKy0KY29udHJpYi9oc3RvcmUvaHN0b3Jl X2lvLmMgICAgICAgICAgICAgICB8ICAgOCArLQpjb250cmliL2x0cmVlL2xxdWVyeV9vcC5jICAg ICAgICAgICAgICAgIHwgICA0ICstCmNvbnRyaWIvbHRyZWUvbHRyZWUuaCAgICAgICAgICAgICAg ICAgICAgfCAgIDMgKy0KY29udHJpYi9sdHJlZS9sdHJlZV9pby5jICAgICAgICAgICAgICAgICB8 ICAxNiArKy0tCmNvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMgICAgICAgICAgICAgfCAgIDQg Ky0KY29udHJpYi9wYWdlaW5zcGVjdC9oZWFwZnVuY3MuYyAgICAgICAgICB8ICAgMiArLQpjb250 cmliL3BnX3RyZ20vdHJnbS5oICAgICAgICAgICAgICAgICAgIHwgICA0ICstCmNvbnRyaWIvcGdf dHJnbS90cmdtX29wLmMgICAgICAgICAgICAgICAgfCAgNDggKysrKysrLS0tLQpjb250cmliL3Bn X3RyZ20vdHJnbV9yZWdleHAuYyAgICAgICAgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvdW5hY2Nl bnQvdW5hY2NlbnQuYyAgICAgICAgICAgICAgfCAgIDcgKy0Kc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wcm9jLmMgICAgICAgICAgICB8ICAgMiArLQpzcmMvYmFja2VuZC90c2VhcmNoL2RpY3Rfc3lu b255bS5jICAgICAgIHwgICA4ICstCnNyYy9iYWNrZW5kL3RzZWFyY2gvZGljdF90aGVzYXVydXMu YyAgICAgfCAgMTggKystLQpzcmMvYmFja2VuZC90c2VhcmNoL3JlZ2lzLmMgICAgICAgICAgICAg IHwgIDM3ICsrKystLS0tCnNyYy9iYWNrZW5kL3RzZWFyY2gvc3BlbGwuYyAgICAgICAgICAgICAg fCAxMjMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQpzcmMvYmFja2VuZC90c2VhcmNoL3RzX2xv Y2FsZS5jICAgICAgICAgIHwgIDk3ICsrKysrKysrLS0tLS0tLS0tLS0tCnNyYy9iYWNrZW5kL3Rz ZWFyY2gvdHNfdXRpbHMuYyAgICAgICAgICAgfCAgIDQgKy0Kc3JjL2JhY2tlbmQvdHNlYXJjaC93 cGFyc2VyX2RlZi5jICAgICAgICB8ICAgMyArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvZW5jb2Rl LmMgICAgICAgICAgIHwgIDEwICstLQpzcmMvYmFja2VuZC91dGlscy9hZHQvZm9ybWF0dGluZy5j ICAgICAgIHwgIDIyICsrLS0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29uZnVuY3MuYyAgICAg ICAgfCAgIDIgKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25wYXRoX2dyYW0ueSAgICB8ICAg MiArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvbGV2ZW5zaHRlaW4uYyAgICAgIHwgIDE0ICstLQpz cmMvYmFja2VuZC91dGlscy9hZHQvbGlrZS5jICAgICAgICAgICAgIHwgIDE4ICsrLS0Kc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L2xpa2VfbWF0Y2guYyAgICAgICB8ICAgMyArLQpzcmMvYmFja2VuZC91 dGlscy9hZHQvb3JhY2xlX2NvbXBhdC5jICAgIHwgIDMzICsrKystLS0Kc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3JlZ2V4cC5jICAgICAgICAgICB8ICAgNiArLQpzcmMvYmFja2VuZC91dGlscy9hZHQv dHNxdWVyeS5jICAgICAgICAgIHwgIDI1ICsrKy0tLQpzcmMvYmFja2VuZC91dGlscy9hZHQvdHN2 ZWN0b3IuYyAgICAgICAgIHwgIDExICstLQpzcmMvYmFja2VuZC91dGlscy9hZHQvdHN2ZWN0b3Jf b3AuYyAgICAgIHwgIDEwICsrLQpzcmMvYmFja2VuZC91dGlscy9hZHQvdHN2ZWN0b3JfcGFyc2Vy LmMgIHwgIDI5ICsrKy0tLQpzcmMvYmFja2VuZC91dGlscy9hZHQvdmFyYml0LmMgICAgICAgICAg IHwgICA4ICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJsZW5hLmMgICAgICAgICAgfCAgNDEg KysrKystLS0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyAgICAgICAgICAgICAgfCAgMTEg KystCnNyYy9iYWNrZW5kL3V0aWxzL21iL21idXRpbHMuYyAgICAgICAgICAgfCAxNTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLQpzcmMvaW5jbHVkZS9tYi9wZ193Y2hhci5oICAgICAg ICAgICAgICAgIHwgICA3ICsrCnNyYy9pbmNsdWRlL3RzZWFyY2gvdHNfbG9jYWxlLmggICAgICAg ICAgfCAgMzQgKysrKystLQpzcmMvaW5jbHVkZS90c2VhcmNoL3RzX3V0aWxzLmggICAgICAgICAg IHwgIDE0ICsrLQpzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfcmVnZXgvdGVzdF9yZWdleC5jIHwgICAz ICstCjQxIGZpbGVzIGNoYW5nZWQsIDUzNyBpbnNlcnRpb25zKCspLCAzNTQgZGVsZXRpb25zKC0p Cgo= --===============4066737107042452105==--