[PATCH branch-1.6] eval: Reject incomplete base prefix
Eric Blake via M4-patches <[email protected]> Wed, 28 May 2025 20:30:20 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
UE9TSVggaXMgY2xlYXIgdGhhdCBzdHJ0b2woIjB4IikgaXMgYW4gZXJyb3IgKHRoZXJlIG11c3Qg YmUgZGlnaXRzCmFmdGVyIHRoZSBleHBsaWNpdCBiYXNlKTsgYW5kIG90aGVyIG00IGltcGxlbWVu dGF0aW9ucyB0aGF0IHJlbHkgb24Kc3RydG9sIGZvciBldmFsIGhhdmUgcmVqZWN0ZWQgImV2YWwo MHgpIi4gIEFsdGhvdWdoIGl0IGNhbiBiZSBhcmd1ZWQKdGhhdCByZWplY3Rpbmcgc29tZXRoaW5n IHRoYXQgdXNlZCB0byBzaWxlbnRseSB3b3JrIGFzIDAgbWlnaHQgYnJlYWsKZXhpc3Rpbmcgc2Ny aXB0cywgd2UgaGFkIG5ldmVyIGRvY3VtZW50ZWQgaXQgYXMgYSBmZWF0dXJlIGFuZCB0aGUgcmlz awppcyBsb3cuCgpNZWFud2hpbGUsIHBhcnNpbmcgImV2YWwoMDgpIiBhcyAiMCIgZm9sbG93ZWQg YnkgIjgiIGFsd2F5cyBwcm9kdWNlcyBhCnNlbWFudGljIGVycm9yLCBzaW5jZSA4IHdhcyBmb3Vu ZCB3aGVuIGFuIG9wZXJhdG9yIHdhcyBleHBlY3RlZDsgYnV0CnRoZSBlcnJvciBtZXNzYWdlIGlz IG5pY2VyIGlmIGEgZGlnaXQgdG9vIGxhcmdlIGZvciB0aGUgYmFzZSB0cmlnZ2Vycwp0aGUgc2Ft ZSBuZXcgZXJyb3IgYXMgZm9yIGFuIGluY29tcGxldGUgYmFzZSBbImludmFsaWQgbnVtYmVyIl0g cmF0aGVyCnRoYW4gdGhlIG9sZCB3YXkgWyJiYWQgZXhwcmVzc2lvbiBpbiBldmFsIChleGNlc3Mg aW5wdXQpIl0uCgoqIHNyYy9ldmFsLmMgKE1JTl9QUkVDKTogTmV3IGRlZmluZSB0byBhdm9pZCBh IG1hZ2ljIG51bWJlciB0bwpwYXJzZV9leHByLgooQkFETlVNLCBJTlZBTElEX05VTUJFUik6IE5l dyBlbnVtIHZhbHVlcy4gIFNodWZmbGUgdmFsdWVzIG9uCm90aGVyIGV2YWxfdG9rZW5zIHRvIGtl ZXAgbWF0aCBjb25zaXN0ZW50LgooZXZhbF9sZXgpOiBSZXR1cm4gQkFETlVNIG9uIGZhaWxlZCBu dW1lcmljIHBhcnNlLgoocHJpbWFyeSwgcGFyc2VfZXhwciwgZXZhbHVhdGUpOiBIYW5kbGUgaW52 YWxpZCBudW1iZXJzLgoqIGRvYy9tNC50ZXhpIChFdmFsKTogVGVzdCBpdC4KKiBORVdTOiBEb2N1 bWVudCB0aGUgYnVnIGZpeC4KLS0tCgpUaGlzIHBhdGNoIGlzIHdvcnRoIGJhY2stcG9ydGluZyB0 byBtNCAxLjQueC4KCkZvciByZWZlcmVuY2UsIEJTRCBtNCBhbmQgbTRwIGJvdGggcmVqZWN0ICJl dmFsKDB4KSIuICBDaGVja2luZyBvdGhlcgpsYW5ndWFnZXMsIGJhc2ggcmVqZWN0cyAkKCgwYikp IGJ1dCBhY2NpZGVudGFsbHkgYWNjZXB0cyAkKCgweCkpLgpnYXdrIHNpbGVudGx5IGFjY2VwdHMg MHgsIGJ1dCBoZXksIGl0IHNpbGVudGx5IGFjY2VwdHMgZ2FyYmFnZSBsaWtlIDBxCnRvby4gIEMs IFB5dGhvbiwgR28sIFJ1c3QsIGFuZCBtYW55IG90aGVyIGNvbXBpbGVkIGxhbmd1YWdlcyByZWpl Y3QKYmFyZSAweC4KCiBORVdTICAgICAgICB8ICA0ICsrKwogZG9jL200LnRleGkgfCAgOCArKysr Ky0KIHNyYy9ldmFsLmMgIHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMjYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggZjI1ZGFjM2QuLjk2 MGU0MmY3IDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05FV1MKQEAgLTEyMiw2ICsxMjIsMTAgQEAg R05VIE00IE5FV1MgLSBVc2VyIHZpc2libGUgY2hhbmdlcy4KICAgIGNvbnRleHQgb2YgYSBtYWNy byBuYW1lLCByYXRoZXIgdGhhbiBhY3Rpbmcgb24gdGhlIGVtcHR5IHN0cmluZy4gIFRoaXMKICAg IHdhcyBhbHJlYWR5IGRvbmUgZm9yIGBkZWZpbmUnLCBgcHVzaGRlZicsIGBidWlsdGluJywgYW5k IGBpbmRpcicuCgorKiogRml4IHRoZSBgZXZhbCcgYnVpbHRpbiB0byByZWplY3QgaW5wdXQgbGlr ZSBgMHgnIHRoYXQgQyBkb2VzIG5vdAorICAgYWNjZXB0IGFzIGFuIGludGVnZXIgbGl0ZXJhbCwg cmF0aGVyIHRoYW4gc2lsZW50bHkgdHJlYXRpbmcgaXQgYXMgemVybworICAgKHByZXNlbnQgc2lu Y2UgInRoZSBiZWdpbm5pbmciKS4KKwogKiogRW5oYW5jZSB0aGUgYGV2YWwnIGJ1aWx0aW4gdG8g dW5kZXJzdGFuZCB0aGUgYD86JyBhbmQgYD4+Picgb3BlcmF0b3JzLAogICAgYW5kIGRvd25ncmFk ZSBhIGZhaWxlZCBwYXJzZSBkdWUgdG8gYW4gdW5rbm93biBvcGVyYXRvciBmcm9tIGFuIGVycm9y IHRvCiAgICBhIHdhcm5pbmcgKHRoZSBzYW1lIGFzIGZvciBhbGwgb3RoZXIgc3ludGF4IGVycm9y cykuICBGdXJ0aGVyLCB0aGUKZGlmZiAtLWdpdCBhL2RvYy9tNC50ZXhpIGIvZG9jL200LnRleGkK aW5kZXggMDFiMGE5MTUuLjJiZDJkMDQyIDEwMDY0NAotLS0gYS9kb2MvbTQudGV4aQorKysgYi9k b2MvbTQudGV4aQpAQCAtNzM0MSw2ICs3MzQxLDEyIEBAIEV2YWwKIGV2YWwoYDErJykKIEBlcnJv cnt9bTQ6c3RkaW46MTA6IHdhcm5pbmc6IGV2YWw6IG1pc3Npbmcgb3BlcmFuZDogJzErJwogQHJl c3VsdHt9CitldmFsKGAweCcpCitAZXJyb3J7fW00OnN0ZGluOjExOiB3YXJuaW5nOiBldmFsOiBp bnZhbGlkIG51bWJlcjogJzB4JworQHJlc3VsdHt9CitldmFsKGAwMTIzOScpCitAZXJyb3J7fW00 OnN0ZGluOjEyOiB3YXJuaW5nOiBldmFsOiBpbnZhbGlkIG51bWJlcjogJzAxMjM5JworQHJlc3Vs dHt9CiBkZWZpbmUoYGZvbycsIGA2NjYnKQogQHJlc3VsdHt9CiBldmFsKDByMzY6Zm9vKQpAQCAt NzM1MCw3ICs3MzU2LDcgQEAgRXZhbAogZXZhbChgMFIzNjonZGVmbihgZm9vJykpCiBAcmVzdWx0 e303OTk4CiBldmFsKGBmb28gLyA2JykKLUBlcnJvcnt9bTQ6c3RkaW46MTU6IHdhcm5pbmc6IGV2 YWw6IGJhZCBpbnB1dDogJ2ZvbyAvIDYnCitAZXJyb3J7fW00OnN0ZGluOjE3OiB3YXJuaW5nOiBl dmFsOiBiYWQgaW5wdXQ6ICdmb28gLyA2JwogQHJlc3VsdHt9CiBldmFsKGZvbyAvIDYpCiBAcmVz dWx0e30xMTEKZGlmZiAtLWdpdCBhL3NyYy9ldmFsLmMgYi9zcmMvZXZhbC5jCmluZGV4IDIzNmIz NGNhLi4xOGNhZTllMiAxMDA2NDQKLS0tIGEvc3JjL2V2YWwuYworKysgYi9zcmMvZXZhbC5jCkBA IC0yOCwxMCArMjgsMTMgQEAKCiAvKiBFdmFsdWF0ZXMgdG9rZW4gdHlwZXMuICAqLwoKKyNkZWZp bmUgTUlOX1BSRUMgMgorCiB0eXBlZGVmIGVudW0gZXZhbF90b2tlbgogewotICAvKiBWYWx1ZSAv IDEwIGlzIHByZWNlZGVuY2Ugb3JkZXIuICAqLworICAvKiBWYWx1ZSAvIDEwIGlzIHByZWNlZGVu Y2Ugb3JkZXIsIGlmID49IE1JTl9QUkVDLiAgKi8KICAgRVJST1IgPSAwLAorICBCQUROVU0sCiAg IEJBRE9QLAogICBFTVBUWSwKICAgRU9URVhULApAQCAtNDEsMjggKzQ0LDI4IEBAIHR5cGVkZWYg ZW51bSBldmFsX3Rva2VuCiAgIE5PVCwKICAgTlVNQkVSLAogICBDT0xPTiwKLSAgUVVFU1RJT04g PSAxMCwKLSAgTE9SID0gMjAsCi0gIExBTkQgPSAzMCwKLSAgT1IgPSA0MCwKLSAgWE9SID0gNTAs Ci0gIEFORCA9IDYwLAotICBFUSA9IDcwLAorICBRVUVTVElPTiA9IDIwLAorICBMT1IgPSAzMCwK KyAgTEFORCA9IDQwLAorICBPUiA9IDUwLAorICBYT1IgPSA2MCwKKyAgQU5EID0gNzAsCisgIEVR ID0gODAsCiAgIE5PVEVRLAotICBHVCA9IDgwLAorICBHVCA9IDkwLAogICBHVEVRLAogICBMUywK ICAgTFNFUSwKLSAgTFNISUZUID0gOTAsCisgIExTSElGVCA9IDEwMCwKICAgUlNISUZULAogICBV UlNISUZULAogICAvKiBwcmVjZWRlbmNlIGdpdmVuIGZvciBiaW5hcnkgb3A7IFBMVVMgYW5kIE1J TlVTIGFsc28gc2VydmUgYXMgYSB1bmFyeSBvcCAqLwotICBQTFVTID0gMTAwLAorICBQTFVTID0g MTEwLAogICBNSU5VUywKLSAgVElNRVMgPSAxMTAsCisgIFRJTUVTID0gMTIwLAogICBESVZJREUs CiAgIE1PRFVMTywKLSAgRVhQT05FTlQgPSAxMjAKKyAgRVhQT05FTlQgPSAxMzAKIH0KIGV2YWxf dG9rZW47CgpAQCAtODIsNiArODUsNyBAQCB0eXBlZGVmIGVudW0gZXZhbF9lcnJvcgogICBNSVNT SU5HX0NPTE9OLAogICBVTktOT1dOX0lOUFVULAogICBFWENFU1NfSU5QVVQsCisgIElOVkFMSURf TlVNQkVSLAogICBJTlZBTElEX09QRVJBVE9SLAogICBNSVNTSU5HX1ZBTFVFLAogICBFTVBUWV9B UkdVTUVOVApAQCAtMTQxLDYgKzE0NSw3IEBAIGV2YWxfbGV4IChpbnQzMl90ICp2YWwpCiAgICAg ICAgICBUaGVyZWZvcmUgdXNlIGFuIHVuc2lnbmVkIGludGVnZXIgdHlwZSB0byBhdm9pZCB1bmRl ZmluZWQgYmVoYXZpb3VyCiAgICAgICAgICB3aGVuIHBhcnNpbmcgJy0yMTQ3NDgzNjQ4Jy4gICov CiAgICAgICB1aW50MzJfdCB2YWx1ZTsKKyAgICAgIGJvb2wgc2Vlbl9kaWdpdCA9IGZhbHNlOwoK ICAgICAgIGlmICgqZXZhbF90ZXh0ID09ICcwJykKICAgICAgICAgewpAQCAtMTY2LDE5ICsxNzEs MjAgQEAgZXZhbF9sZXggKGludDMyX3QgKnZhbCkKICAgICAgICAgICAgICAgd2hpbGUgKGNfaXNk aWdpdCAoKmV2YWxfdGV4dCkgJiYgYmFzZSA8PSAzNikKICAgICAgICAgICAgICAgICBiYXNlID0g MTAgKiBiYXNlICsgKmV2YWxfdGV4dCsrIC0gJzAnOwogICAgICAgICAgICAgICBpZiAoYmFzZSA9 PSAwIHx8IGJhc2UgPiAzNiB8fCAqZXZhbF90ZXh0ICE9ICc6JykKLSAgICAgICAgICAgICAgICBy ZXR1cm4gRVJST1I7CisgICAgICAgICAgICAgICAgcmV0dXJuIEJBRE5VTTsKICAgICAgICAgICAg ICAgZXZhbF90ZXh0Kys7CiAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgIGRlZmF1 bHQ6CiAgICAgICAgICAgICAgIGJhc2UgPSA4OworICAgICAgICAgICAgICBzZWVuX2RpZ2l0ID0g dHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgZWxzZQogICAgICAgICBiYXNl ID0gMTA7CgogICAgICAgdmFsdWUgPSAwOwotICAgICAgZm9yICg7ICpldmFsX3RleHQ7IGV2YWxf dGV4dCsrKQorICAgICAgZm9yICg7ICpldmFsX3RleHQ7IGV2YWxfdGV4dCsrLCBzZWVuX2RpZ2l0 ID0gdHJ1ZSkKICAgICAgICAgewogICAgICAgICAgIGlmIChjX2lzZGlnaXQgKCpldmFsX3RleHQp KQogICAgICAgICAgICAgZGlnaXQgPSAqZXZhbF90ZXh0IC0gJzAnOwpAQCAtMTk2LDE0ICsyMDIs MTYgQEAgZXZhbF9sZXggKGludDMyX3QgKnZhbCkKICAgICAgICAgICAgICAgZWxzZSBpZiAoZGln aXQgPT0gMCAmJiB2YWx1ZSA9PSAwKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgcmV0 dXJuIEJBRE5VTTsKICAgICAgICAgICAgIH0KICAgICAgICAgICBlbHNlIGlmIChkaWdpdCA+PSBi YXNlKQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gQkFETlVNOwogICAg ICAgICAgIGVsc2UKICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKiBiYXNlICsgZGlnaXQ7CiAg ICAgICAgIH0KICAgICAgICp2YWwgPSB2YWx1ZTsKKyAgICAgIGlmICghc2Vlbl9kaWdpdCkKKyAg ICAgICAgcmV0dXJuIEJBRE5VTTsKICAgICAgIHJldHVybiBOVU1CRVI7CiAgICAgfQoKQEAgLTMz NiwxMyArMzQ0LDE1IEBAIHByaW1hcnkgKGludDMyX3QgKnYxKQogICAgICAgLyogUGFyZW50aGVz aXMgKi8KICAgICBjYXNlIExFRlRQOgogICAgICAgZXIgPSBwcmltYXJ5ICh2MSk7Ci0gICAgICBl ciA9IHBhcnNlX2V4cHIgKHYxLCBlciwgMSk7CisgICAgICBlciA9IHBhcnNlX2V4cHIgKHYxLCBl ciwgTUlOX1BSRUMpOwogICAgICAgaWYgKGVyID49IFNZTlRBWF9FUlJPUikKICAgICAgICAgcmV0 dXJuIGVyOwogICAgICAgc3dpdGNoIChldmFsX2xleCAoJnYyKSkKICAgICAgICAgewogICAgICAg ICBjYXNlIEVSUk9SOgogICAgICAgICAgIHJldHVybiBVTktOT1dOX0lOUFVUOworICAgICAgICBj YXNlIEJBRE5VTToKKyAgICAgICAgICByZXR1cm4gSU5WQUxJRF9OVU1CRVI7CiAgICAgICAgIGNh c2UgQkFET1A6CiAgICAgICAgICAgcmV0dXJuIElOVkFMSURfT1BFUkFUT1I7CiAgICAgICAgIGNh c2UgUklHSFRQOgpAQCAtMzc0LDYgKzM4NCw4IEBAIHByaW1hcnkgKGludDMyX3QgKnYxKQogICAg ICAgLyogQW55dGhpbmcgZWxzZSAqLwogICAgIGNhc2UgRVJST1I6CiAgICAgICByZXR1cm4gVU5L Tk9XTl9JTlBVVDsKKyAgICBjYXNlIEJBRE5VTToKKyAgICAgIHJldHVybiBJTlZBTElEX05VTUJF UjsKICAgICBjYXNlIEJBRE9QOgogICAgICAgcmV0dXJuIElOVkFMSURfT1BFUkFUT1I7CiAgICAg Y2FzZSBFTVBUWToKQEAgLTU1MCwxNCArNTYyLDE2IEBAIHBhcnNlX2V4cHIgKGludDMyX3QgKnYx LCBldmFsX2Vycm9yIGVyLCB1bnNpZ25lZCBtaW5fcHJlYykKICAgICAgICAgICBicmVhazsKCiAg ICAgICAgIGNhc2UgUVVFU1RJT046Ci0gICAgICAgICAgaWYgKGV0MiA9PSBCQURPUCkKKyAgICAg ICAgICBpZiAoZXQyID09IEJBRE5VTSkKKyAgICAgICAgICAgIGVyID0gSU5WQUxJRF9OVU1CRVI7 CisgICAgICAgICAgZWxzZSBpZiAoZXQyID09IEJBRE9QKQogICAgICAgICAgICAgZXIgPSBJTlZB TElEX09QRVJBVE9SOwogICAgICAgICAgIGVsc2UgaWYgKGV0MiAhPSBDT0xPTikKICAgICAgICAg ICAgIGVyID0gTUlTU0lOR19DT0xPTjsKICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgIGVyMyA9IHByaW1hcnkgKCZ2Myk7Ci0gICAgICAgICAgICAgIGVyMyA9IHBh cnNlX2V4cHIgKCZ2MywgZXIzLCAxKTsKKyAgICAgICAgICAgICAgZXIzID0gcGFyc2VfZXhwciAo JnYzLCBlcjMsIE1JTl9QUkVDKTsKICAgICAgICAgICAgICAgaWYgKGVyMyA+PSBTWU5UQVhfRVJS T1IpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGVyMzsKICAgICAgICAgICAgICAgaWYgKCp2MSkK QEAgLTU5MSwxNCArNjA1LDIxIEBAIGV2YWx1YXRlIChjb25zdCBjYWxsX2luZm8gKm1lLCBjb25z dCBjaGFyICpleHByLCBzaXplX3QgbGVuLCBpbnQzMl90ICp2YWwpCgogICBldmFsX2luaXRfbGV4 IChleHByLCBsZW4pOwogICBlcnIgPSBwcmltYXJ5ICh2YWwpOwotICBlcnIgPSBwYXJzZV9leHBy ICh2YWwsIGVyciwgMSk7CisgIGVyciA9IHBhcnNlX2V4cHIgKHZhbCwgZXJyLCBNSU5fUFJFQyk7 CgogICBpZiAoZXJyID09IE5PX0VSUk9SICYmIGV2YWxfdGV4dCAhPSBlbmRfdGV4dCkKICAgICB7 Ci0gICAgICBpZiAoZXZhbF9sZXggKHZhbCkgPT0gQkFET1ApCi0gICAgICAgIGVyciA9IElOVkFM SURfT1BFUkFUT1I7Ci0gICAgICBlbHNlCi0gICAgICAgIGVyciA9IEVYQ0VTU19JTlBVVDsKKyAg ICAgIHN3aXRjaCAoZXZhbF9sZXggKHZhbCkpCisgICAgICAgIHsKKyAgICAgICAgY2FzZSBCQURO VU06CisgICAgICAgICAgZXJyID0gSU5WQUxJRF9OVU1CRVI7CisgICAgICAgICAgYnJlYWs7Cisg ICAgICAgIGNhc2UgQkFET1A6CisgICAgICAgICAgZXJyID0gSU5WQUxJRF9PUEVSQVRPUjsKKyAg ICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICBlcnIgPSBFWENFU1Nf SU5QVVQ7CisgICAgICAgIH0KICAgICB9CgogICBpZiAoZXJyICE9IE5PX0VSUk9SKQpAQCAtNjM0 LDYgKzY1NSwxMCBAQCBldmFsdWF0ZSAoY29uc3QgY2FsbF9pbmZvICptZSwgY29uc3QgY2hhciAq ZXhwciwgc2l6ZV90IGxlbiwgaW50MzJfdCAqdmFsKQogICAgICAgbTRfd2FybiAoMCwgbWUsIF8o ImV4Y2VzcyBpbnB1dDogJXMiKSwgZXhwcik7CiAgICAgICBicmVhazsKCisgICAgY2FzZSBJTlZB TElEX05VTUJFUjoKKyAgICAgIG00X3dhcm4gKDAsIG1lLCBfKCJpbnZhbGlkIG51bWJlcjogJXMi KSwgZXhwcik7CisgICAgICBicmVhazsKKwogICAgIGNhc2UgSU5WQUxJRF9PUEVSQVRPUjoKICAg ICAgIG00X3dhcm4gKDAsIG1lLCBfKCJpbnZhbGlkIG9wZXJhdG9yOiAlcyIpLCBleHByKTsKICAg ICAgIGJyZWFrOwotLSAKMi40OS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTTQtcGF0Y2hlcyBtYWlsaW5nIGxpc3QKTTQtcGF0Y2hlc0BnbnUub3Jn Cmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL200LXBhdGNoZXMK