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 1vqY1j-00Ct9o-1r for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 14:50:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqY1i-0099TY-31 for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 14:50:43 +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 1vpEnw-008opi-02 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:03 +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 1vpEnr-00000001CBO-2Aet for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:02 +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=+KSOKo0crPU0Hc0mTEp26hUFTqIwMkMyFPcx2Husg9U=; b=kl4cAVe1IwryFPoQ2Nz0Dx6lEI UpUg3XQ7GImVQONv5OSLSsGXwsIwlbQsbGU0+jzJtJxnoqgj3zzu0YoPMRkTtz7Xg+4R1ae2wfro3 7iuTNYrWhFdLEa64RBt33OXxqFT23IPw4wLLBTXHCZ8e+LX6kfNLyBzlI+24/5OzvYX+Ro4i3pj2j 7uzwXzZ9yG9jODVg30CK8b5LvtWj+rLTMZYL3HoUqdSPzpDU9FhsxY7p1tVbSNeH+OSj5G7q7S5BS xO2w35NUFQKpnJ2ZgtWXQ+XzRDm6DKI/Rqz2pIV+5uL+r6O0QU5bkDWYTggIewOQCR73AV1AjTPAc H9yRJF3Q==; 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 1vpEnq-0053zK-0Z for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:06:58 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vpEnp-001wyz-14 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:06:57 +0000 Content-Type: multipart/mixed; boundary="===============5730401352976803758==" 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:06:57 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============5730401352976803758== 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 KQoKQnJhbmNoCi0tLS0tLQptYXN0ZXIKCkRldGFpbHMKLS0tLS0tLQpodHRwczovL2dpdC5wb3N0 Z3Jlc3FsLm9yZy9wZy9jb21taXRkaWZmLzFlN2ZlMDZjMTBjMGE4ZGE5ZGQ2MjYxYTZiZThkNDA1 ZGMxN2M3MjgKCk1vZGlmaWVkIEZpbGVzCi0tLS0tLS0tLS0tLS0tCmNvbnRyaWIvYnRyZWVfZ2lz dC9idHJlZV91dGlsc192YXIuYyAgICAgfCAgMjEgKysrLS0KY29udHJpYi9kaWN0X3hzeW4vZGlj dF94c3luLmMgICAgICAgICAgICB8ICAgNCArLQpjb250cmliL2hzdG9yZS9oc3RvcmVfaW8uYyAg ICAgICAgICAgICAgIHwgICAyICstCmNvbnRyaWIvbHRyZWUvY3JjMzIuYyAgICAgICAgICAgICAg ICAgICAgfCAgIDMgKy0KY29udHJpYi9sdHJlZS9scXVlcnlfb3AuYyAgICAgICAgICAgICAgICB8 ICAgNCArLQpjb250cmliL2x0cmVlL2x0cmVlLmggICAgICAgICAgICAgICAgICAgIHwgICAyICst CmNvbnRyaWIvbHRyZWUvbHRyZWVfaW8uYyAgICAgICAgICAgICAgICAgfCAgIDggKy0KY29udHJp Yi9sdHJlZS9sdHh0cXVlcnlfaW8uYyAgICAgICAgICAgICB8ICAgMiArLQpjb250cmliL3BhZ2Vp bnNwZWN0L2hlYXBmdW5jcy5jICAgICAgICAgIHwgICAyICstCmNvbnRyaWIvcGdfdHJnbS90cmdt LmggICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KY29udHJpYi9wZ190cmdtL3RyZ21fb3AuYyAg ICAgICAgICAgICAgICB8ICA1MiArKysrKysrLS0tLQpjb250cmliL3BnX3RyZ20vdHJnbV9yZWdl eHAuYyAgICAgICAgICAgIHwgIDIzICsrLS0tCmNvbnRyaWIvcGdjcnlwdG8vY3J5cHQtc2hhLmMg ICAgICAgICAgICAgfCAgIDIgKy0KY29udHJpYi91bmFjY2VudC91bmFjY2VudC5jICAgICAgICAg ICAgICB8ICAgNSArLQpzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3Byb2MuYyAgICAgICAgICAgIHwg ICAyICstCnNyYy9iYWNrZW5kL3RzZWFyY2gvZGljdF9zeW5vbnltLmMgICAgICAgfCAgIDQgKy0K c3JjL2JhY2tlbmQvdHNlYXJjaC9kaWN0X3RoZXNhdXJ1cy5jICAgICB8ICAgOCArLQpzcmMvYmFj a2VuZC90c2VhcmNoL3JlZ2lzLmMgICAgICAgICAgICAgIHwgIDM3ICsrKystLS0tCnNyYy9iYWNr ZW5kL3RzZWFyY2gvc3BlbGwuYyAgICAgICAgICAgICAgfCAgODEgKysrKysrKystLS0tLS0tLS0K c3JjL2JhY2tlbmQvdHNlYXJjaC90c19sb2NhbGUuYyAgICAgICAgICB8ICA1NiArKysrKysrLS0t LS0Kc3JjL2JhY2tlbmQvdHNlYXJjaC90c191dGlscy5jICAgICAgICAgICB8ICAgMiArLQpzcmMv YmFja2VuZC90c2VhcmNoL3dwYXJzZXJfZGVmLmMgICAgICAgIHwgICAzICstCnNyYy9iYWNrZW5k L3V0aWxzL2FkdC9lbmNvZGUuYyAgICAgICAgICAgfCAgIDYgKy0Kc3JjL2JhY2tlbmQvdXRpbHMv YWR0L2Zvcm1hdHRpbmcuYyAgICAgICB8ICAyMiArKy0tLQpzcmMvYmFja2VuZC91dGlscy9hZHQv anNvbmZ1bmNzLmMgICAgICAgIHwgICAyICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29ucGF0 aF9ncmFtLnkgICAgfCAgIDMgKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2xldmVuc2h0ZWluLmMg ICAgICB8ICAxNCArLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2xpa2UuYyAgICAgICAgICAgICB8 ICAxOCArKy0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9saWtlX21hdGNoLmMgICAgICAgfCAgIDMg Ky0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L29yYWNsZV9jb21wYXQuYyAgICB8ICAzMyArKysrLS0t CnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9yZWdleHAuYyAgICAgICAgICAgfCAgIDkgKy0Kc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3RzcXVlcnkuYyAgICAgICAgICB8ICAxMyArKy0Kc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3RzdmVjdG9yLmMgICAgICAgICB8ICAxMSArLS0Kc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3RzdmVjdG9yX29wLmMgICAgICB8ICAxMCArKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Rz dmVjdG9yX3BhcnNlci5jICB8ICAxOSArKy0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJiaXQu YyAgICAgICAgICAgfCAgIDggKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmxlbmEuYyAgICAg ICAgICB8ICAzOCArKysrKy0tLQpzcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMgICAgICAgICAg ICAgIHwgIDExICsrLQpzcmMvYmFja2VuZC91dGlscy9tYi9tYnV0aWxzLmMgICAgICAgICAgIHwg MTUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0Kc3JjL2luY2x1ZGUvbWIvcGdfd2No YXIuaCAgICAgICAgICAgICAgICB8ICAgNyArKwpzcmMvaW5jbHVkZS90c2VhcmNoL3RzX2xvY2Fs ZS5oICAgICAgICAgIHwgIDMwICsrKysrKy0Kc3JjL2luY2x1ZGUvdHNlYXJjaC90c191dGlscy5o ICAgICAgICAgICB8ICAxNCArKy0Kc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3JlZ2V4L3Rlc3RfcmVn ZXguYyB8ICAgMyArLQo0MyBmaWxlcyBjaGFuZ2VkLCA0ODUgaW5zZXJ0aW9ucygrKSwgMjY0IGRl bGV0aW9ucygtKQoK --===============5730401352976803758==--