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-1l 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-009HTp-19 for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 14:52:33 +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 1vpEot-008osW-1R for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:08:03 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vpEor-00000001jUf-0RG0 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:08:03 +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=Ak4gtNW7FL5NCy2mjEkKPA79IvMH3eG//EULGxSWPmo=; b=wLEcL+m7o/62URe02WC1NWs8qw qtQ1PF4cbuZLHZ0lCHfSBNvLTJpzsdt+lBSxoKyggPQgYihFwkh/AN6Ws9fIp1A2VmiqrQc/1f9Tk ypc7fGGsWhyUZUn4qVJHpZxqlSMZytgAFDkAlIwU+KHZITaNayGxmazff3lez87opQ+unLjQgnBM+ 7Nqmjch3jnqSXUNVn7iMeCs17Fw5SKw+PXEvg//bMSpIUYyOz7jU280oU9PZddqGYx3iu8L7vhkI8 QKmFgJX2IVuz/0hD/z/E3Aoo5Olm20il1Iu0Ww6oIHcBIrxBwnZ3K+Ur8Y7YlBQBc6felykxsis+m 7lLl1GDw==; 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 1vpEop-00542S-1K for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:59 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vpEop-001x4W-08 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:59 +0000 Content-Type: multipart/mixed; boundary="===============0442885771913705076==" 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:59 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============0442885771913705076== 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 KQoKQnJhbmNoCi0tLS0tLQpSRUxfMTVfU1RBQkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9n aXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi9mZDgyZGRiNjc5ZDcxYzk3NmU2OTNmNmU5 MjJjYjVhNTk5NzU1ZjE4CgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpjb250cmliL2J0 cmVlX2dpc3QvYnRyZWVfdXRpbHNfdmFyLmMgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvZGljdF94 c3luL2RpY3RfeHN5bi5jICAgICAgICAgICAgfCAgIDggKy0KY29udHJpYi9oc3RvcmUvaHN0b3Jl X2lvLmMgICAgICAgICAgICAgICB8ICAgOCArLQpjb250cmliL2x0cmVlL2xxdWVyeV9vcC5jICAg ICAgICAgICAgICAgIHwgICA0ICstCmNvbnRyaWIvbHRyZWUvbHRyZWUuaCAgICAgICAgICAgICAg ICAgICAgfCAgIDMgKy0KY29udHJpYi9sdHJlZS9sdHJlZV9pby5jICAgICAgICAgICAgICAgICB8 ICAxNiArKy0tCmNvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMgICAgICAgICAgICAgfCAgIDQg Ky0KY29udHJpYi9wYWdlaW5zcGVjdC9oZWFwZnVuY3MuYyAgICAgICAgICB8ICAgMiArLQpjb250 cmliL3BnX3RyZ20vdHJnbS5oICAgICAgICAgICAgICAgICAgIHwgICA0ICstCmNvbnRyaWIvcGdf dHJnbS90cmdtX29wLmMgICAgICAgICAgICAgICAgfCAgNDggKysrKysrLS0tLQpjb250cmliL3Bn X3RyZ20vdHJnbV9yZWdleHAuYyAgICAgICAgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvdW5hY2Nl bnQvdW5hY2NlbnQuYyAgICAgICAgICAgICAgfCAgIDcgKy0Kc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wcm9jLmMgICAgICAgICAgICB8ICAgMiArLQpzcmMvYmFja2VuZC90c2VhcmNoL2RpY3Rfc3lu b255bS5jICAgICAgIHwgICA4ICstCnNyYy9iYWNrZW5kL3RzZWFyY2gvZGljdF90aGVzYXVydXMu YyAgICAgfCAgMTggKystLQpzcmMvYmFja2VuZC90c2VhcmNoL3JlZ2lzLmMgICAgICAgICAgICAg IHwgIDM3ICsrKystLS0tCnNyYy9iYWNrZW5kL3RzZWFyY2gvc3BlbGwuYyAgICAgICAgICAgICAg fCAxMjMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQpzcmMvYmFja2VuZC90c2VhcmNoL3RzX2xv Y2FsZS5jICAgICAgICAgIHwgIDkzICsrKysrKysrLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQvdHNl YXJjaC90c191dGlscy5jICAgICAgICAgICB8ICAgNCArLQpzcmMvYmFja2VuZC90c2VhcmNoL3dw YXJzZXJfZGVmLmMgICAgICAgIHwgICAzICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9lbmNvZGUu YyAgICAgICAgICAgfCAgMTAgKy0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9mb3JtYXR0aW5nLmMg ICAgICAgfCAgMjIgKystLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25mdW5jcy5jICAgICAg ICB8ICAgMiArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvanNvbnBhdGhfZ3JhbS55ICAgIHwgICAz ICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9sZXZlbnNodGVpbi5jICAgICAgfCAgMTQgKy0tCnNy Yy9iYWNrZW5kL3V0aWxzL2FkdC9saWtlLmMgICAgICAgICAgICAgfCAgMTggKystLQpzcmMvYmFj a2VuZC91dGlscy9hZHQvbGlrZV9tYXRjaC5jICAgICAgIHwgICAzICstCnNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9vcmFjbGVfY29tcGF0LmMgICAgfCAgMzMgKysrKy0tLQpzcmMvYmFja2VuZC91dGls cy9hZHQvcmVnZXhwLmMgICAgICAgICAgIHwgICA5ICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC90 c3F1ZXJ5LmMgICAgICAgICAgfCAgMjUgKysrLS0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3Zl Y3Rvci5jICAgICAgICAgfCAgMTEgKy0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvcl9v cC5jICAgICAgfCAgMTAgKystCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvcl9wYXJzZXIu YyAgfCAgMjkgKysrLS0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJiaXQuYyAgICAgICAgICAg fCAgIDggKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmxlbmEuYyAgICAgICAgICB8ICAzNCAr KysrLS0tCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyAgICAgICAgICAgICAgfCAgMTEgKyst CnNyYy9iYWNrZW5kL3V0aWxzL21iL21idXRpbHMuYyAgICAgICAgICAgfCAxNTAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLQpzcmMvaW5jbHVkZS9tYi9wZ193Y2hhci5oICAgICAgICAg ICAgICAgIHwgICA3ICsrCnNyYy9pbmNsdWRlL3RzZWFyY2gvdHNfbG9jYWxlLmggICAgICAgICAg fCAgMzQgKysrKystLQpzcmMvaW5jbHVkZS90c2VhcmNoL3RzX3V0aWxzLmggICAgICAgICAgIHwg IDE0ICsrLQpzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfcmVnZXgvdGVzdF9yZWdleC5jIHwgICAzICst CjQxIGZpbGVzIGNoYW5nZWQsIDUzNiBpbnNlcnRpb25zKCspLCAzNDggZGVsZXRpb25zKC0pCgo= --===============0442885771913705076==--