[PATCH] changeword: Fix coredump on invalid regex
Eric Blake via M4-patches <[email protected]> Sat, 5 Apr 2025 06:25:35 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
VGhlIGRvY3MgYXJlIGNsZWFyIHRoYXQgdGhlIG9ubHkgdmFsaWQgdXNlIG9mIHRoZSBleHBlcmlt ZW50YWwKY2hhbmdld29yZCBpcyB0byBwYXNzIGEgcmVnZXggd2hlcmUgYWxsIHByZWZpeGVzIG9m IGEgZGVzaXJlZAphY2NlcHRhYmxlIHdvcmQgYXJlIGFsc28gYWNjZXB0ZWQuICBJZiB0aGlzIGNv bnN0cmFpbnQgaXMgbm90IG1ldCwgYW5kCnRoZSByZWdleCBjYW4gbWF0Y2ggYSBsb25nZXIgc3Ry aW5nIGJ1dCBub3QgdGhlIG9uZS1ieXRlIHByZWZpeCBvZgp0aGF0IHN0cmluZywgdGhlbiB0aGUg ZmFzdG1hcCBvZiB0aGF0IHJlZ2V4IHdpbGwgc3RpbGwgYmUgc2V0IG9uIHRoYXQKYnl0ZSAoYXMg aXQgY291bGQgYmUgYSB2YWxpZCBhbmNob3IgdG8gdHJ5IHNlYXJjaGluZyBmb3IgYSBsb25nZXIK bWF0Y2gpLCBidXQgd2hlbiByZV9zZWFyY2goKSB0aGVuIGZhaWxzIHRvIG1hdGNoLCB3ZSBhcmUg bGVmdCB3aXRoCmdhcmJhZ2UgaW4gcmVncy5zdGFydC4KClRoZSBkb2NzIGV2ZW4gaGFkIGFuIGV4 YW1wbGUgd2hlcmUgdGhpcyBjb25zdHJhaW50IGlzIG5vdCBtZXQsIGJ1dApiZWNhdXNlIG9mIHRo ZSB3YXkgdGhlIHRlc3Qgd2FzIHdyaXR0ZW4sIHRoZSBmaXJzdCBtYWNybyBwYXJzZWQgYWZ0ZXIK Y2hhbmdld29yZCB3YXMgImRubCIsIHdoaWNoIHBvcHVsYXRlZCByZWdzIHdpdGggc29tZXRoaW5n IHRoYXQgaGFwcGVucwp0byB3b3JrIG9uIHRoZSBuZXh0IGF0dGVtcHQgdG8gcGFyc2Ugd2l0aCBm YWlsdXJlIHRvIG1hdGNoICJmIi4gIEJ1dAp0aGUgdGVzdCBhZGRlZCBoZXJlIGRlbW9uc3RyYXRl cyB0aGF0IHdpdGhvdXQgYSBwcmlvciByZWdleCBtYXRjaCwgaWYKdGhlIGZpcnN0IGJ5dGUgYWZ0 ZXIgY2hhbmdld29yZCBpcyBpbiB0aGUgZmFzdG1hcCBidXQgZmFpbHMgdG8gcGFyc2UsCnRoZW4g cmVncy5zdGFydCB3aWxsIHN0aWxsIGJlIE5VTEwgYW5kIGNyYXNoIG00LiAgQW5kIGV2ZW4gd2hl biBtNApkaWRuJ3QgY3Jhc2gsIGl0J3Mgc3RpbGwgYmV0dGVyIHRvIG9ubHkgcmVseSBvbiByZWdz IGFmdGVyIHJlLXJ1bm5pbmcKdGhlIHJlZ2V4IG9uIHRoZSBsYXJnZXN0IHN0cmluZyB0aGF0IGRp ZCBtYXRjaCwgcmF0aGVyIHRoYW4gd2hhdGV2ZXIKaXMgbGVmdCBpbiByZWdzIGFmdGVyIHRoZSBm aXJzdCBmYWlsdXJlIHRvIG1hdGNoIGEgb25lLWJ5dGUtbG9uZ2VyCnN0cmluZy4KCkkgX3JlYWxs eV8gd2FudCB0byBnZXQgcmlkIG9mIGNoYW5nZXdvcmQuICBJdCBzbG93cyB0aGluZ3MgZG93biwg YW5kCmlzIGEgbmlnaHRtYXJlIHRvIG1haW50YWluLiAgQW5kIHRoZSBmYWN0IHRoYXQgTk8gT05F IHJlcG9ydGVkIHRoaXMKcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGluIDIwMDggKGJlY2F1c2UgbW9z dCBkaXN0cm9zIHdpc2VseSByZWZ1c2UgdG8KYnVpbGQgd2l0aCAtLWVuYWJsZS1jaGFuZ2V3b3Jk KSBtZWFucyBpdCB3b24ndCBiZSBtaXNzZWQuICBCdXQKcmVtb3ZpbmcgYSBmZWF0dXJlLCBldmVu IGV4cGVyaW1lbnRhbCwgc2hvdWxkIGJlIGRvbmUgZm9yIDEuNiwgbm90CjEuNC54LgoKKiBORVdT OiBEb2N1bWVudCB0aGUgYnVnIGZpeC4gIEFsc28gYSB3aGl0ZXNwYWNlIGZpeC4KKiBjZmcubWsg KG9sZF9ORVdTX2hhc2gpOiBSdW4gJ21ha2UgdXBkYXRlLU5FV1MtaGFzaCcuCiogbTQudGV4aSAo Q2hhbmdld29yZCk6IFRlc3QgZm9yIHRoZSBidWcuCiogaW5wdXQuYyAod29yZF9zdGFydCkgW0VO QUJMRV9DSEFOR0VXT1JEXTogUmV2ZXJ0IGNvbW1pdCBjZGU4ZWQ2MiwKYnV0IHRoaXMgdGltZSB1 c2UgYSBzdGF0aWMgYXJyYXkgcmF0aGVyIHRoYW4gbWFsbG9jJ2QgcG9pbnRlci4KKHNldF93b3Jk X3JlZ2V4cCk6IFBvcHVsYXRlIHdvcmRfc3RhcnQuCihwZWVrX3Rva2VuKTogVXNlIGl0LgoobmV4 dF90b2tlbik6IExpa2V3aXNlLCBhbmQgZG9uJ3QgdXNlIHJlZ3Muc3RhcnRbMV0gaWYgcmVnZXgg ZGlkIG5vdApoYXZlIFwoXCkgZ3JvdXBpbmcuCi0tLQogTkVXUyAgICAgICAgfCAgOCArKysrKysr KwogY2ZnLm1rICAgICAgfCAgMiArLQogZG9jL200LnRleGkgfCAxMyArKysrKysrKysrKysrCiBz cmMvaW5wdXQuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCiA0IGZpbGVzIGNoYW5n ZWQsIDQ1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTkVXUyBi L05FV1MKaW5kZXggNmMwOTYwNWYuLmM4Y2UwM2U0IDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05F V1MKQEAgLTE2LDEyICsxNiwyMCBAQCBHTlUgTTQgTkVXUyAtIFVzZXIgdmlzaWJsZSBjaGFuZ2Vz LgogICAgY2hhbmdlIGJlbG9uZ3MgaW4gYSBtYWpvciB2ZXJzaW9uIHJlbGVhc2Ugc3VjaCBhcyAx LjYsIGFuZCBub3QgYSBtaW5vcgogICAgcmVsZWFzZS4KCisqKiBGaXggcmVncmVzc2lvbiBpbnRy b2R1Y2VkIGluIDEuNC4xMSB3aGVyZSB0aGUgZXhwZXJpbWVudGFsIGBjaGFuZ2V3b3JkJworICAg YnVpbHRpbiBjb3VsZCBjYXVzZSBhIGNyYXNoIGlmIGdpdmVuIGEgcmVnZXggdGhhdCBkb2VzIG5v dCBtYXRjaCBhbGwKKyAgIG9uZS1ieXRlIHByZWZpeGVzIG9mIHZhbGlkIGxvbmdlciBtYXRjaGVz LiAgQXMgYSByZW1pbmRlciwgYGNoYW5nZXdvcmQnCisgICBpcyBub3QgcmVjb21tZW5kZWQgZm9y IHByb2R1Y3Rpb24gdXNlLCBhbmQgd2lsbCBsaWtlbHkgbm90IGJlIHByZXNlbnQKKyAgIGluIHRo ZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4KKworCiAqIE5vdGV3b3J0aHkgY2hhbmdlcyBp biByZWxlYXNlIDEuNC4xOSAoMjAyMS0wNS0yOCkgW3N0YWJsZV0KCiAqKiBBIG51bWJlciBvZiBw b3J0YWJpbGl0eSBpbXByb3ZlbWVudHMgaW5oZXJpdGVkIGZyb20gZ251bGliLCBpbmNsdWRpbmcK ICAgIHRoZSBhYmlsaXR5IHRvIHBlcmZvcm0gc3RhY2sgb3ZlcmZsb3cgZGV0ZWN0aW9uIG9uIG1v cmUgcGxhdGZvcm1zCiAgICB3aXRob3V0IGxpbmtpbmcgdG8gR05VIGxpYnNpZ3NlZ3YuCgorCiAq IE5vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDEuNC4xOGQgKDIwMjEtMDUtMTEpIFtiZXRh XQoKICoqIEEgbnVtYmVyIG9mIHBvcnRhYmlsaXR5IGltcHJvdmVtZW50cyBpbmhlcml0ZWQgZnJv bSBnbnVsaWIuCmRpZmYgLS1naXQgYS9jZmcubWsgYi9jZmcubWsKaW5kZXggN2Y1YzAxYWIuLjgx ZmRjNDU5IDEwMDY0NAotLS0gYS9jZmcubWsKKysrIGIvY2ZnLm1rCkBAIC0zNCw3ICszNCw3IEBA IGxvY2FsLWNoZWNrcy10by1za2lwICs9IHNjX2Nhc3Rfb2ZfeF9hbGxvY19yZXR1cm5fdmFsdWUK IGNvbmZpZ19oX2hlYWRlciA9ICJtNFwuaCIKCiAjIEhhc2ggb2YgTkVXUyBjb250ZW50cywgdG8g ZW5zdXJlIHdlIGRvbid0IGFkZCBlbnRyaWVzIHRvIHdyb25nIHNlY3Rpb24uCi1vbGRfTkVXU19o YXNoID0gNGU0NTVjZjE2MDQzMDYxYjdmZmUyODlhOWI2MDRmMzMKK29sZF9ORVdTX2hhc2ggPSBi ZWIwZmUxMTI0ZTExNDhmMDVmYzY0YWJhYzU3ZWZmNQoKICMgVXBkYXRlIG00LWxhdGVzdC50YXIu KiBzeW1saW5rcyBkdXJpbmcgJ21ha2Ugc3RhYmxlL2JldGEnLgogR05VUExPQURGTEFHUyA9IC0t c3ltbGluay1yZWdleApkaWZmIC0tZ2l0IGEvZG9jL200LnRleGkgYi9kb2MvbTQudGV4aQppbmRl eCBlZDE2OWU2OC4uZWY5ODI4Y2MgMTAwNjQ0Ci0tLSBhL2RvYy9tNC50ZXhpCisrKyBiL2RvYy9t NC50ZXhpCkBAIC00NzQwLDYgKzQ3NDAsMTkgQEAgQ2hhbmdld29yZAogQGVuZCBleGFtcGxlCgog QGlnbm9yZQorQGNvbW1lbnQgRXhwb3NlIGEgY29yZSBkdW1wIGludHJvZHVjZWQgaW4gMS40LjEx LgorQGV4YW1wbGUKK2lmZGVmKGBjaGFuZ2V3b3JkJywgYCcsIGBlcnJwcmludChgIHNraXBwaW5n OiBubyBjaGFuZ2V3b3JkIHN1cHBvcnQKKycpbTRleGl0KGA3NycpJylkbmwKK2RlZmluZShgZm9v CisnLCBgYmFyCisnKQorQHJlc3VsdHt9CitjaGFuZ2V3b3JkKGBbY2RdW2Etel0qXHxmb29bCitd Jylmb28KK0ByZXN1bHR7fWZvbworQGVuZCBleGFtcGxlCisKIEBjb21tZW50IE9uZSBtb3JlIHRl c3Qgb2YgaW5jbHVkaW5nIG5ld2xpbmUgaW4gYSBtYWNybyBuYW1lOyBidXQgdGhpcwogQGNvbW1l bnQgZG9lcyBub3QgbmVlZCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG1hbnVhbC4gIFRoaXMgZW5z dXJlcwogQGNvbW1lbnQgdGhhdCBsaW5lIG51bWJlcmluZyBpcyBjb3JyZWN0IHdoZW4gZG5sIGN1 dHMgYWNyb3NzIGluY2x1ZGUKZGlmZiAtLWdpdCBhL3NyYy9pbnB1dC5jIGIvc3JjL2lucHV0LmMK aW5kZXggNzU0YmY0ZWUuLjg2ZTJhYzFlIDEwMDY0NAotLS0gYS9zcmMvaW5wdXQuYworKysgYi9z cmMvaW5wdXQuYwpAQCAtMTU0LDYgKzE1NCw3IEBAIFNUUklORyBlY29tbTsKCiAjIGRlZmluZSBE RUZBVUxUX1dPUkRfUkVHRVhQICJbX2EtekEtWl1bX2EtekEtWjAtOV0qIgoKK3N0YXRpYyBjaGFy IHdvcmRfc3RhcnRbMjU2XTsKIHN0YXRpYyBzdHJ1Y3QgcmVfcGF0dGVybl9idWZmZXIgd29yZF9y ZWdleHA7CiBzdGF0aWMgaW50IGRlZmF1bHRfd29yZF9yZWdleHA7CiBzdGF0aWMgc3RydWN0IHJl X3JlZ2lzdGVycyByZWdzOwpAQCAtNzcyLDYgKzc3Myw4IEBAIHNldF9jb21tZW50IChjb25zdCBj aGFyICpiYywgY29uc3QgY2hhciAqZWMpCiB2b2lkCiBzZXRfd29yZF9yZWdleHAgKGNvbnN0IGNo YXIgKnJlZ2V4cCkKIHsKKyAgaW50IGk7CisgIGNoYXIgdGVzdFsyXSA9ICIiOwogICBjb25zdCBj aGFyICptc2c7CiAgIHN0cnVjdCByZV9wYXR0ZXJuX2J1ZmZlciBuZXdfd29yZF9yZWdleHA7CgpA QCAtODA2LDYgKzgwOSwyMCBAQCBzZXRfd29yZF9yZWdleHAgKGNvbnN0IGNoYXIgKnJlZ2V4cCkK ICAgICBhc3NlcnQgKGZhbHNlKTsKCiAgIGRlZmF1bHRfd29yZF9yZWdleHAgPSBmYWxzZTsKKwor ICAvKiBUaGUgZmFzdG1hcCBjb250YWlucyBhbnkgYnl0ZSB0aGF0IGNhbiBzdGFydCBhIHdvcmQu IEJ1dCB3ZSBzdGlsbAorICAgICBuZWVkIHRvIGtub3cgd2hpY2ggYnl0ZXMgY2FuIGJlIG1hdGNo ZWQgYXMgYSB3b3JkIGluIGlzb2xhdGlvbgorICAgICAoYWx0aG91Z2ggdGhlIGRvY3VtZW50YXRp b25zIHJlcXVpcmVzIHRoYXQgYWxsIHByZWZpeGVzIG9mIGEKKyAgICAgdXNlcidzIGRlc2lyZWQg d29yZHMgdG8gYWxzbyBiZSBtYXRjaGVkLCB0aGlzIGNhdGNoZXMgd2hlbiBhIHVzZXIKKyAgICAg ZGlkIG5vdCBmb2xsb3cgdGhhdCBsaW1pdGF0aW9uKS4gICovCisgIGZvciAoaSA9IDE7IGkgPCAy NTY7IGkrKykKKyAgICB7CisgICAgICBpZiAod29yZF9yZWdleHAuZmFzdG1hcFtpXSkKKyAgICAg ICAgeworICAgICAgICAgIHRlc3RbMF0gPSBpOworICAgICAgICAgIHdvcmRfc3RhcnRbaV0gPSBy ZV9zZWFyY2ggKCZ3b3JkX3JlZ2V4cCwgdGVzdCwgMSwgMCwgMCwgTlVMTCkgPj0gMDsKKyAgICAg ICAgfQorICAgIH0KIH0KCiAjZW5kaWYgLyogRU5BQkxFX0NIQU5HRVdPUkQgKi8KQEAgLTg5Nyw3 ICs5MTQsNyBAQCBuZXh0X3Rva2VuICh0b2tlbl9kYXRhICp0ZCwgaW50ICpsaW5lKQoKICNpZmRl ZiBFTkFCTEVfQ0hBTkdFV09SRAoKLSAgZWxzZSBpZiAoIWRlZmF1bHRfd29yZF9yZWdleHAgJiYg d29yZF9yZWdleHAuZmFzdG1hcFtjaF0pCisgIGVsc2UgaWYgKCFkZWZhdWx0X3dvcmRfcmVnZXhw ICYmIHdvcmRfc3RhcnRbY2hdKQogICAgIHsKICAgICAgIG9ic3RhY2tfMWdyb3cgKCZ0b2tlbl9z dGFjaywgY2gpOwogICAgICAgd2hpbGUgKDEpCkBAIC05MTUsNiArOTMyLDkgQEAgbmV4dF90b2tl biAodG9rZW5fZGF0YSAqdGQsIGludCAqbGluZSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgKigoKGNoYXIgKikgb2JzdGFja19iYXNlICgmdG9rZW5fc3RhY2spCiAgICAgICAgICAgICAg ICAgICsgb2JzdGFja19vYmplY3Rfc2l6ZSAoJnRva2VuX3N0YWNrKSkgLSAxKSA9ICdcMCc7Cisg ICAgICAgICAgICAgIHJlX3NlYXJjaCAoJndvcmRfcmVnZXhwLAorICAgICAgICAgICAgICAgICAg ICAgICAgIChjaGFyICopIG9ic3RhY2tfYmFzZSAoJnRva2VuX3N0YWNrKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICBvYnN0YWNrX29iamVjdF9zaXplICgmdG9rZW5fc3RhY2spIC0gMSwgMCwg MCwgJnJlZ3MpOwogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAg ICBuZXh0X2NoYXIgKCk7CkBAIC05MjMsNyArOTQzLDcgQEAgbmV4dF90b2tlbiAodG9rZW5fZGF0 YSAqdGQsIGludCAqbGluZSkKICAgICAgIG9ic3RhY2tfMWdyb3cgKCZ0b2tlbl9zdGFjaywgJ1ww Jyk7CiAgICAgICBvcmlnX3RleHQgPSAoY2hhciAqKSBvYnN0YWNrX2ZpbmlzaCAoJnRva2VuX3N0 YWNrKTsKCi0gICAgICBpZiAocmVncy5zdGFydFsxXSAhPSAtMSkKKyAgICAgIGlmIChyZWdzLm51 bV9yZWdzICYmIHJlZ3Muc3RhcnRbMV0gIT0gLTEpCiAgICAgICAgIG9ic3RhY2tfZ3JvdyAoJnRv a2VuX3N0YWNrLCBvcmlnX3RleHQgKyByZWdzLnN0YXJ0WzFdLAogICAgICAgICAgICAgICAgICAg ICAgIHJlZ3MuZW5kWzFdIC0gcmVncy5zdGFydFsxXSk7CiAgICAgICBlbHNlCkBAIC0xMDU5LDcg KzEwNzksNyBAQCBwZWVrX3Rva2VuICh2b2lkKQogICAgIH0KICAgZWxzZSBpZiAoKGRlZmF1bHRf d29yZF9yZWdleHAgJiYgKGNfaXNhbHBoYSAoY2gpIHx8IGNoID09ICdfJykpCiAjaWZkZWYgRU5B QkxFX0NIQU5HRVdPUkQKLSAgICAgICAgICAgfHwgKCFkZWZhdWx0X3dvcmRfcmVnZXhwICYmIHdv cmRfcmVnZXhwLmZhc3RtYXBbY2hdKQorICAgICAgICAgICB8fCAoIWRlZmF1bHRfd29yZF9yZWdl eHAgJiYgd29yZF9zdGFydFtjaF0pCiAjZW5kaWYgLyogRU5BQkxFX0NIQU5HRVdPUkQgKi8KICAg ICApCiAgICAgewotLSAKMi40OS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTTQtcGF0Y2hlcyBtYWlsaW5nIGxpc3QKTTQtcGF0Y2hlc0BnbnUub3Jn Cmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL200LXBhdGNoZXMK