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 1x0TCQ-004ecR-30 for pgsql-committers@arkaria.postgresql.org; Sun, 30 Aug 2026 00:15:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1x0TCP-00CSDO-31 for pgsql-committers@arkaria.postgresql.org; Sun, 30 Aug 2026 00:15:01 +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 1x0T9h-00CPLD-2s for pgsql-committers@lists.postgresql.org; Sun, 30 Aug 2026 00:12:13 +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 1x0T9d-000000034mB-0Svx for pgsql-committers@lists.postgresql.org; Sun, 30 Aug 2026 00:12:12 +0000 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 1x0T9c-009Kv1-25 for pgsql-committers@lists.postgresql.org; Sun, 30 Aug 2026 00:12:08 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1x0T9a-00000002gxW-0sMd for pgsql-committers@lists.postgresql.org; Sun, 30 Aug 2026 00:12:07 +0000 Content-Type: multipart/mixed; boundary="===============3511375010176898052==" MIME-Version: 1.0 From: Tom Lane To: pgsql-committers@lists.postgresql.org Subject: pgsql: Harden spell.c against out-of-order FLAG lines in Hunspell files X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Sun, 30 Aug 2026 00:12:07 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============3511375010176898052== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 SGFyZGVuIHNwZWxsLmMgYWdhaW5zdCBvdXQtb2Ytb3JkZXIgRkxBRyBsaW5lcyBpbiBIdW5zcGVs bCBmaWxlcy4KClRoZSBjb21wb3VuZCBmbGFncyBjb2xsZWN0ZWQgZnJvbSBDT01QT1VOREZMQUcg YW5kIGZyaWVuZHMgYXJlIHN0b3JlZCBpbgplaXRoZXIgdGhlIHN0cmluZyBvciB0aGUgaW50ZWdl ciBtZW1iZXIgb2YgYSB1bmlvbiwgYWNjb3JkaW5nIHRvIHRoZQpmbGFnIG1vZGUgdGhhdCB0aGUg YWZmaXggZmlsZSdzIEZMQUcgbGluZSBkZWNsYXJlcy4gIE5JSW1wb3J0T09BZmZpeGVzKCkKY29u dmVydGVkIGVhY2ggZmxhZyBhcyBzb29uIGFzIGl0IHJlYWQgaXQsIHVzaW5nIHRoZSBtb2RlIGlu IGVmZmVjdCBhdAp0aGF0IHBvaW50LCBhbmQgcmVjb3JkZWQgdGhhdCBtb2RlIGluIHRoZSBlbnRy eS4gIFNpbmNlIEZMQUcgbWF5IGFwcGVhcgphbnl3aGVyZSBpbiB0aGUgZmlsZSwgaW5jbHVkaW5n IGFmdGVyIHRoZSBjb21wb3VuZCBmbGFncywgZW50cmllcyB3cml0dGVuCmJlZm9yZSBhbmQgYWZ0 ZXIgaXQgY291bGQgZGlzYWdyZWUgYWJvdXQgd2hpY2ggbWVtYmVyIG9mIHRoZSB1bmlvbiBob2xk cwp0aGUgZmxhZy4KCkluIGFzc2VydC1lbmFibGVkIGJ1aWxkcywgdGhpcyB3b3VsZCByZXN1bHQg aW4gYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCk90aGVyd2lzZSwgY21wY21kZmxhZygpIHRha2VzIHRo ZSBtb2RlIGZyb20gaXRzIGZpcnN0IGFyZ3VtZW50IGFuZAphcHBsaWVzIGl0IHRvIGJvdGgsIHNv IGl0IGNhbiByZWFkIGFuIGludGVnZXIgYXMgYSBjaGFyIHBvaW50ZXIgYW5kIHBhc3MKdGhhdCB0 byBzdHJjbXAoKS4gIERlcGVuZGluZyBvbiB3aGljaCB3YXkgdGhlIG1pc21hdGNoIGdvZXMsIHRo ZSByZXN1bHQKaXMgYSBzZWdmYXVsdCB3aGlsZSBzb3J0aW5nIHRoZSBhcnJheSwgYSBzZWdmYXVs dCBpbiB0aGUgYnNlYXJjaCgpIHRoYXQKbGF0ZXIgbG9va3MgZmxhZ3MgdXAgKHRoZSBsb29rdXAg a2V5IGlzIGJ1aWx0IHdpdGggdGhlIGZpbmFsIG1vZGUsIHNvCnRoaXMgaGFwcGVucyBldmVuIHdo ZW4gdGhlIGFycmF5IGl0c2VsZiBpcyBjb25zaXN0ZW50KSwgb3IsIHdoZW4gYm90aAptZW1iZXJz IGhhcHBlbiB0byBiZSByZWFkYWJsZSwgbm8gY3Jhc2ggYXQgYWxsIGFuZCBhIGNvbXBvdW5kIGZs YWcgdGhhdAppcyBuZXZlciBmb3VuZCwgd2hpY2ggc2lsZW50bHkgZGlzYWJsZXMgY29tcG91bmQg d29yZCBzcGxpdHRpbmcuICBUaGlzCmlzbid0IGEgc2VjdXJpdHkgYnVnIGJlY2F1c2Ugd2UgY29u c2lkZXIgZGljdGlvbmFyeSBmaWxlcyB0byBiZSB0cnVzdGVkCmRhdGEsIGJ1dCBpdCdzIHN0aWxs IHdvcnRoIGZpeGluZy4gIChJbiBwcmFjdGljZSwgZGljdGlvbmFyeSBmaWxlcwp1c3VhbGx5IHB1 dCB0aGUgRkxBRyBsaW5lIGZpcnN0LCB3aGljaCBpcyB3aHkgdGhpcyB3ZW50IHVucmVwb3J0ZWQg Zm9yCnNvIGxvbmcuKQoKRml4IGJ5IGtlZXBpbmcgdGhlIGZsYWdzIGFzIHN0cmluZ3Mgd2hpbGUg dGhlIGZpbGUgaXMgcmVhZCBhbmQgY29udmVydGluZwp0aGVtIG9uY2UgaXQgaGFzIGJlZW4gcmVh ZCBpbiBmdWxsLCB3aGVuIHRoZSBtb2RlIGlzIGZpbmFsLiAgVGhpcyBhbHNvCm1ha2VzIHRoZSBw b3NpdGlvbiBvZiB0aGUgRkxBRyBsaW5lIGlycmVsZXZhbnQsIHdoaWNoIGlzIGhvdyB0aGUgZmxh Z3Mgb24KQUYsIFNGWCBhbmQgUEZYIGxpbmVzIGFyZSBhbHJlYWR5IHRyZWF0ZWQ6IHRob3NlIGFy ZSBwYXJzZWQgaW4gYSBzZWNvbmQKcGFzcyBhbmQgc28gYWx3YXlzIHVzZSB0aGUgZmluYWwgbW9k ZS4gIFRoYXQgcHJlY2VkZW50IGlzIHJlYXNvbiBmb3IKYmVoYXZpbmcgdGhpcyB3YXkgcmF0aGVy IHRoYW4gdGhyb3dpbmcgYW4gZXJyb3IuCgpUaGUgb2xkIGlzcGVsbCBmaWxlIGZvcm1hdCByZWFj aGVzIGFkZENvbXBvdW5kQWZmaXhGbGFnVmFsdWUoKSB0b28sCmZyb20gTklJbXBvcnRBZmZpeGVz KCksIGFuZCByZXR1cm5zIHdpdGhvdXQgZW50ZXJpbmcgTklJbXBvcnRPT0FmZml4ZXMoKSwKc28g aXQgbmVlZHMgdGhlIGNvbnZlcnNpb24gc3RlcCBhcyB3ZWxsLgoKV2hpbGUgd2UncmUgaGVyZSwg YWxzbyBmaXggc29tZSBpbnRlZ2VyIHdpZHRoIG1pc21hdGNoZXM6IHN0b3JlIHRoZQpyZXN1bHQg b2Ygc3RydG9sKCkgaW50byBhICJsb25nIiwgYW5kIGNhc3QgdG8gaW50IG9ubHkgYWZ0ZXIgd2Un dmUgZG9uZQpyYW5nZSBjaGVja3MuICBUeXBpY2FsbHkgYSB2YWx1ZSB0b28gd2lkZSBmb3IgaW50 IHdvdWxkIGZhaWwgdGhlIHJhbmdlCmNoZWNrcyBhbnl3YXksIGJ1dCBpbiBzb21lIGNhc2VzIGl0 IHdvdWxkIGJlIHNpbGVudGx5IGFjY2VwdGVkIGFmdGVyCnRydW5jYXRpb24gdG8gaW50LgoKQXV0 aG9yOiBFd2FuIFlvdW5nIDxrZGJhc2UuaGFja0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBUb20g TGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20v Q0FPTjJ4SE4zUW1zYXlTTTZER1dhMWd0dGNiSm9GaDB3akFFLV9acFNQbz1MS04xaFl3QG1haWwu Z21haWwuY29tCkJhY2twYXRjaC10aHJvdWdoOiAxNAoKQnJhbmNoCi0tLS0tLQpSRUxfMTlfU1RB QkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9naXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0 ZGlmZi81MGRhZmZiMDY2NWUzMWJhOWUyMjNlM2M5MTA2YTQ5ZjJjNDRlYWI1CgpNb2RpZmllZCBG aWxlcwotLS0tLS0tLS0tLS0tLQpzcmMvYmFja2VuZC90c2VhcmNoL3NwZWxsLmMgfCAxMTUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KMSBmaWxlIGNoYW5nZWQs IDg4IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoK --===============3511375010176898052==--