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 1vqY3W-00CtgB-1l for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 14:52:35 +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-009HTn-15 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 1vpEoU-008or9-0k for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:38 +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-00000001jTs-3PC2 for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:37 +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=JRbwZo67XOOporu9cFdsR0RjuXWVGQur+xeofkq2zao=; b=0ONA6TJzNTBowfZ/ijuZIZs1lH JpcdC2XmHap0dEHh686g9Tdkuwi+GotV0wyF1m3M96lj+UJCyGozIR/BKxjvL05UJ7jGMyOghjT1c BVqKUHRS5vqfEOxssvov+l9Z5YKvYomhQOMBj1QhagRyzWOBDJsh3Ajs2JamHfA0KFMa67/chRdLf hCaJjqen0lifhAfprJuzKPraZs/b1UFrhYTfLF4Fo9q8j9Il8KyVhtizcuGB1ws7P+w9VwSUz+tla ku/e7KH2zYFp4EMHTUATk7iSW3g1SwEwJw6W+SUFMs+GHvatP2bElX73s11V/Tm/uTID+0vbFGw54 gIEw5IHw==; 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 1vpEoQ-00541f-0A for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:34 +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-001x25-2G for pgsql-committers@lists.postgresql.org; Mon, 09 Feb 2026 00:07:34 +0000 Content-Type: multipart/mixed; boundary="===============6480722433667238186==" 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:34 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============6480722433667238186== 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 KQoKQnJhbmNoCi0tLS0tLQpSRUxfMTdfU1RBQkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9n aXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi8zMTllOGE2NDQxOWFlZTNlY2MwYjM5YjUy YWJjYzI4YjJhM2ZlMmQwCgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpjb250cmliL2J0 cmVlX2dpc3QvYnRyZWVfdXRpbHNfdmFyLmMgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvZGljdF94 c3luL2RpY3RfeHN5bi5jICAgICAgICAgICAgfCAgIDggKy0KY29udHJpYi9oc3RvcmUvaHN0b3Jl X2lvLmMgICAgICAgICAgICAgICB8ICAgMiArLQpjb250cmliL2x0cmVlL2xxdWVyeV9vcC5jICAg ICAgICAgICAgICAgIHwgICA0ICstCmNvbnRyaWIvbHRyZWUvbHRyZWUuaCAgICAgICAgICAgICAg ICAgICAgfCAgIDIgKy0KY29udHJpYi9sdHJlZS9sdHJlZV9pby5jICAgICAgICAgICAgICAgICB8 ICAxNiArKy0tCmNvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMgICAgICAgICAgICAgfCAgIDQg Ky0KY29udHJpYi9wYWdlaW5zcGVjdC9oZWFwZnVuY3MuYyAgICAgICAgICB8ICAgMiArLQpjb250 cmliL3BnX3RyZ20vdHJnbS5oICAgICAgICAgICAgICAgICAgIHwgICA0ICstCmNvbnRyaWIvcGdf dHJnbS90cmdtX29wLmMgICAgICAgICAgICAgICAgfCAgNDggKysrKysrLS0tLQpjb250cmliL3Bn X3RyZ20vdHJnbV9yZWdleHAuYyAgICAgICAgICAgIHwgIDIxICsrKy0tCmNvbnRyaWIvdW5hY2Nl bnQvdW5hY2NlbnQuYyAgICAgICAgICAgICAgfCAgIDcgKy0Kc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wcm9jLmMgICAgICAgICAgICB8ICAgMiArLQpzcmMvYmFja2VuZC90c2VhcmNoL2RpY3Rfc3lu b255bS5jICAgICAgIHwgICA4ICstCnNyYy9iYWNrZW5kL3RzZWFyY2gvZGljdF90aGVzYXVydXMu YyAgICAgfCAgMTggKystLQpzcmMvYmFja2VuZC90c2VhcmNoL3JlZ2lzLmMgICAgICAgICAgICAg IHwgIDM3ICsrKystLS0tCnNyYy9iYWNrZW5kL3RzZWFyY2gvc3BlbGwuYyAgICAgICAgICAgICAg fCAxMjMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQpzcmMvYmFja2VuZC90c2VhcmNoL3RzX2xv Y2FsZS5jICAgICAgICAgIHwgMTA5ICsrKysrKysrLS0tLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQv dHNlYXJjaC90c191dGlscy5jICAgICAgICAgICB8ICAgNCArLQpzcmMvYmFja2VuZC90c2VhcmNo L3dwYXJzZXJfZGVmLmMgICAgICAgIHwgICAzICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9lbmNv ZGUuYyAgICAgICAgICAgfCAgIDYgKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1hdHRpbmcu YyAgICAgICB8ICAyMiArKy0tLQpzcmMvYmFja2VuZC91dGlscy9hZHQvanNvbmZ1bmNzLmMgICAg ICAgIHwgICAyICstCnNyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29ucGF0aF9ncmFtLnkgICAgfCAg IDMgKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2xldmVuc2h0ZWluLmMgICAgICB8ICAxNCArLS0K c3JjL2JhY2tlbmQvdXRpbHMvYWR0L2xpa2UuYyAgICAgICAgICAgICB8ICAxOCArKy0tCnNyYy9i YWNrZW5kL3V0aWxzL2FkdC9saWtlX21hdGNoLmMgICAgICAgfCAgIDMgKy0Kc3JjL2JhY2tlbmQv dXRpbHMvYWR0L29yYWNsZV9jb21wYXQuYyAgICB8ICAzMyArKysrLS0tCnNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9yZWdleHAuYyAgICAgICAgICAgfCAgIDkgKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3RzcXVlcnkuYyAgICAgICAgICB8ICAyNSArKystLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Rz dmVjdG9yLmMgICAgICAgICB8ICAxMSArLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzdmVjdG9y X29wLmMgICAgICB8ICAxMCArKy0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzdmVjdG9yX3BhcnNl ci5jICB8ICAyOSArKystLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJpdC5jICAgICAgICAg ICB8ICAgOCArLQpzcmMvYmFja2VuZC91dGlscy9hZHQvdmFybGVuYS5jICAgICAgICAgIHwgIDM0 ICsrKystLS0Kc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3htbC5jICAgICAgICAgICAgICB8ICAxMSAr Ky0Kc3JjL2JhY2tlbmQvdXRpbHMvbWIvbWJ1dGlscy5jICAgICAgICAgICB8IDE1MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tCnNyYy9pbmNsdWRlL21iL3BnX3djaGFyLmggICAgICAg ICAgICAgICAgfCAgIDcgKysKc3JjL2luY2x1ZGUvdHNlYXJjaC90c19sb2NhbGUuaCAgICAgICAg ICB8ICAzNiArKysrKystLQpzcmMvaW5jbHVkZS90c2VhcmNoL3RzX3V0aWxzLmggICAgICAgICAg IHwgIDE0ICsrLQpzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfcmVnZXgvdGVzdF9yZWdleC5jIHwgICAz ICstCjQxIGZpbGVzIGNoYW5nZWQsIDUzMiBpbnNlcnRpb25zKCspLCAzNTkgZGVsZXRpb25zKC0p Cgo= --===============6480722433667238186==--