[#118346] [Ruby master Bug#20586] Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>
Issue #20586 has been reported by ivoanjo (Ivo Anjo).
13 messages
2024/06/19
[ruby-core:118389] [Ruby master Feature#20594] A new String method to append bytes while preserving encoding
From:
"Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Date:
2024-06-25 15:33:54 UTC
List:
ruby-core #118389
SXNzdWUgIzIwNTk0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N Cg0KDQorMSBmcm9tIG1lLg0KDQpJIGZvcmdvdCB0aGF0IGBTdHJpbmcjY29uY2F0YCBhY2NlcHRl ZCBpbnRlZ2Vycy4NClRvZ2V0aGVyIHdpdGggYWNjZXB0aW5nIHZhcmlhYmxlIGFyZ3VtZW50cywg aXQgZmVlbHMgbGlrZSB0aGlzIG5ldyBtZXRob2Qgd291bGQgYmUgcXVpdGUgYSBiaXQgY29tcGxp Y2F0ZWQgdG8gaW1wbGVtZW50IGFuZCBvcHRpbWl6ZSB3ZWxsLg0KQnV0LCBpdCdzIGNvbnNpc3Rl bnQgd2l0aCBgU3RyaW5nI2NvbmNhdGAgc28gSSB0aGluayBpdCBtYWtlcyBzZW5zZSBhcyBwcm9w b3NlZC4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVy ZSAjMjA1OTQ6IEEgbmV3IFN0cmluZyBtZXRob2QgdG8gYXBwZW5kIGJ5dGVzIHdoaWxlIHByZXNl cnZpbmcgZW5jb2RpbmcNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDU5NCNj aGFuZ2UtMTA4OTA1DQoNCiogQXV0aG9yOiBieXJvb3QgKEplYW4gQm91c3NpZXIpDQoqIFN0YXR1 czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyMjIENv bnRleHQNCg0KV2hlbiB3b3JraW5nIHdpdGggYmluYXJ5IHByb3RvY29scyBzdWNoIGFzIGBwcm90 b2J1ZmAgb3IgYE1lc3NhZ2VQYWNrYCwgeW91IG1heSBvZnRlbiBuZWVkIHRvIGFzc2VtYmxlIG11 bHRpcGxlDQpzdHJpbmdzIG9mIGRpZmZlcmVudCBlbmNvZGluZzoNCg0KYGBgcnVieQ0KUG9zdCA9 IFN0cnVjdC5uZXcoOnRpdGxlLCA6Ym9keSkgZG8NCiAgZGVmIHNlcmlhbGl6ZShidWYpDQogICAg YnVmIDw8DQogICAgICAyNTUgPDwgdGl0bGUuYnl0ZXNpemUgPDwgdGl0bGUgPDwNCiAgICAgIDI1 NSA8PCBib2R5LmJ5dGVzaXplIDw8IGJvZHkNCiAgZW5kDQplbmQNCg0KUG9zdC5uZXcoIkhlbGxv IiwgIldvcmxkIikuc2VyaWFsaXplKCJzb21lZGF0YSIuYikgIyA9PiAic29tZWRhdGFceEZGXHgw NUhlbGxvXHhGRlx4MDVXb3JsZCIgIzxFbmNvZGluZzpBU0NJSS04QklUPg0KYGBgDQoNClRoZSBw cm9ibGVtIGluIHRoZSBhYm92ZSBjYXNlLCBpcyB0aGF0IGJlY2F1c2UgYEVuY29kaW5nOjpBU0NJ SV84QklUYCBpcyBkZWNsYXJlZCBhcyBBU0NJSSBjb21wYXRpYmxlLA0KaWYgb25lIG9mIHRoZSBh cHBlbmRlZCBzdHJpbmcgY29udGFpbnMgYnl0ZXMgb3V0c2lkZSB0aGUgQVNDSUkgcmFuZ2UsIHN0 cmluZyBpcyBhdXRvbWF0aWNhbGx5IHByb21vdGVkDQp0byBhbm90aGVyIGVuY29kaW5nLCB3aGlj aCB0aGVuIGxlYWRzIHRvIGVuY29kaW5nIGlzc3VlczoNCg0KYGBgcnVieQ0KUG9zdC5uZXcoIkji gqxsbG8iLCAiV8O0cmxkIikuc2VyaWFsaXplKCJzb21lZGF0YSIuYikgIyA9PiBpbmNvbXBhdGli bGUgY2hhcmFjdGVyIGVuY29kaW5nczogQVNDSUktOEJJVCBhbmQgVVRGLTggKEVuY29kaW5nOjpD b21wYXRpYmlsaXR5RXJyb3IpDQpgYGANCg0KSW4gbWFueSBjYXNlcywgeW91IHdhbnQgdG8gYXBw ZW5kIHRvIGEgU3RyaW5nIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHJlY2VpdmVyJ3MgZW5jb2Rpbmcu DQoNClRoZSBpc3N1ZSBpc24ndCBleGNsdXNpdmUgdG8gYmluYXJ5IHByb3RvY29scyBhbmQgZm9y bWF0cywgaXQgYWxzbyBoYXBwZW4gd2l0aCBBU0NJSSBwcm90b2NvbHMgdGhhdCBhY2NlcHQgYXJi aXRyYXJ5IGJ5dGVzIGlubGluZSwNCmxpa2UgUmVkaXMncyBSRVNQIHByb3RvY29sIG9yIGV2ZW4g SFRUUC8xLjEuDQoNCiMjIyBQcmV2aW91cyBkaXNjdXNzaW9uDQoNClRoZXJlIHdhcyBhIHNpbWls YXIgZmVhdHVyZSByZXF1ZXN0IGEgd2hpbGUgYWdvLCBidXQgaXQgd2FzIGFiYW5kb25lZDogaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0OTc1DQoNCiMjIyBFeGlzdGluZyBzb2x1 dGlvbnMNCg0KWW91IGNhbiBvZiBjb3Vyc2UgYWx3YXlzIGNhc3QgdGhlIHN0cmluZ3MgeW91IGFw cGVuZCB0byBhdm9pZCB0aGlzIHByb2JsZW06DQoNCmBgYHJ1YnkNClBvc3QgPSBTdHJ1Y3QubmV3 KDp0aXRsZSwgOmJvZHkpIGRvDQogIGRlZiBzZXJpYWxpemUoYnVmKQ0KICAgIGJ1ZiA8PA0KICAg ICAgMjU1IDw8IHRpdGxlLmJ5dGVzaXplIDw8IHRpdGxlLmIgPDwNCiAgICAgIDI1NSA8PCBib2R5 LmJ5dGVzaXplIDw8IGJvZHkuYg0KICBlbmQNCmVuZA0KYGBgDQoNCkJ1dCB0aGlzIGNhdXNlIGEg bG90IG9mIG5lZWRsZXNzIGFsbG9jYXRpb25zLg0KDQpZb3UnZCB0aGluayB5b3UgY291bGQgYWxz byB1c2UgYGJ5dGVzcGxpY2VgLCBidXQgaXQgYWN0dWFsbHkgaGFzIHRoZSBzYW1lIGlzc3VlOg0K DQpgYGBydWJ5DQpQb3N0ID0gU3RydWN0Lm5ldyg6dGl0bGUsIDpib2R5KSBkbw0KICBkZWYgc2Vy aWFsaXplKGJ1ZikNCiAgICBidWYgPDwgMjU1IDw8IHRpdGxlLmJ5dGVzaXplDQogICAgYnVmLmJ5 dGVzcGxpY2UoYnVmLmJ5dGVzaXplLCB0aXRsZS5ieXRlc2l6ZSwgdGl0bGUpDQogICAgYnVmIDw8 IDI1NSA8PCBib2R5LmJ5dGVzaXplDQogICAgYnVmLmJ5dGVzcGxpY2UoYnVmLmJ5dGVzaXplLCBi b2R5LmJ5dGVzaXplLCB0aXRsZSkNCiAgZW5kDQplbmQNClBvc3QubmV3KCJI4oKsbGxvIiwgIlfD tHJsZCIpLnNlcmlhbGl6ZSgic29tZWRhdGEiLmIpICMgPT4gJ1N0cmluZyNieXRlc3BsaWNlJzog aW5jb21wYXRpYmxlIGNoYXJhY3RlciBlbmNvZGluZ3M6IEJJTkFSWSAoQVNDSUktOEJJVCkgYW5k IFVURi04IChFbmNvZGluZzo6Q29tcGF0aWJpbGl0eUVycm9yKQ0KYGBgDQoNCkFuZCBldmVuIGlm IGl0IHdvcmtlZCwgaXQgd291bGQgYmUgdmVyeSB1bmVyZ29ub21pYy4NCg0KIyMjIFByb3Bvc2Fs OiBhIGBieXRlY29uY2F0YCBtZXRob2QNCg0KQSBzb2x1dGlvbiB0byB0aGlzIHdvdWxkIGJlIHRv IGFkZCBhIG5ldyBgYnl0ZWNvbmNhdGAgbWV0aG9kLCB0aGF0IGNvdWxkIGJlIHNoaW1lZCBhczoN Cg0KYGBgcnVieQ0KY2xhc3MgU3RyaW5nDQogIGRlZiBieXRlY29uY2F0KCpzdHJpbmdzKQ0KICAg IHN0cmluZ3MubWFwISBkbyB8c3wNCiAgICAgIGlmIHMuaXNfYT8oU3RyaW5nKSAmJiBzLmVuY29k aW5nICE9IGVuY29kaW5nDQogICAgICAgIHMuZHVwLmZvcmNlX2VuY29kaW5nKGVuY29kaW5nKQ0K ICAgICAgZWxzZQ0KICAgICAgICBzDQogICAgICBlbmQNCiAgICBlbmQNCiAgICBjb25jYXQoKnN0 cmluZ3MpDQogIGVuZA0KZW5kDQoNClBvc3QgPSBTdHJ1Y3QubmV3KDp0aXRsZSwgOmJvZHkpIGRv DQogIGRlZiBzZXJpYWxpemUoYnVmKQ0KICAgIGJ1Zi5ieXRlY29uY2F0KA0KICAgICAgMjU1LCB0 aXRsZS5ieXRlc2l6ZSwgdGl0bGUsDQogICAgICAyNTUsIGJvZHkuYnl0ZXNpemUsIGJvZHksDQog ICAgKQ0KICBlbmQNCmVuZA0KDQpQb3N0Lm5ldygiSOKCrGxsbyIsICJXw7RybGQiKS5zZXJpYWxp emUoInNvbWVkYXRhIi5iKSAjID0+ICJzb21lZGF0YVx4RkZcYUhceEUyXHg4Mlx4QUNsbG9ceEZG XHgwNldceEMzXHhCNHJsZCIgIzxFbmNvZGluZzpBU0NJSS04QklUPg0KYGBgDQoNCkJ1dCBvZiBj b3Vyc2UgYSBidWlsdGluIGltcGxlbWVudGF0aW9uIHdvdWxkbid0IG5lZWQgdG8gZHVwIHRoZSBh cmd1bWVudHMuDQoNCkxpa2Ugb3RoZXIgYGJ5dGUqYCBtZXRob2RzLCBpdCdzIHRoZSByZXNwb25z aWJpbGl0eSBvZiB0aGUgY2FsbGVyIHRvIGVuc3VyZSB0aGUgcmVzdWx0aW5nIHN0cmluZyBoYXMg YSB2YWxpZCBlbmNvZGluZywgb3INCnRvIGRlYWwgd2l0aCBpdCBpZiBub3QuDQoNCiMjIyBNZXRo b2QgbmFtZSBhbmQgc2lnbmF0dXJlDQoNCiMjIyMgTmFtZQ0KDQpUaGlzIHByb3Bvc2FsIHN1Z2dl c3RzIGBTdHJpbmcjYnl0ZWNvbmNhdGAsIHRvIG1pcnJvciBgU3RyaW5nI2NvbmNhdGAsIGJ1dCBv dGhlciBuYW1lcyBhcmUgcG9zc2libGU6DQoNCiAgLSBgYnl0ZWFwcGVuZGAgKGxpa2UgYEFycmF5 I2FwcGVuZGApDQogIC0gYGJ5dGVwdXNoYCAgKGxpa2UgYEFycmF5I3B1c2hgKQ0KDQojIyMjIFNp Z25hdHVyZQ0KDQpUaGlzIHByb3Bvc2FsIG1ha2VzIGBieXRlY29uY2F0YCBhY2NlcHQgZWl0aGVy IGBTdHJpbmdgIG9yIGBJbnRlZ2VyYCAoaW4gY2hhciByYW5nZSkgYXJndW1lbnRzIGxpa2UgYGNv bmNhdGAuIEkgYmVsaWV2ZSBpdCBtYWtlcyBzZW5zZSBmb3IgY29uc2lzdGVuY3kgYW5kIGFsc28g YmVjYXVzZSBpdCdzIG5vdCB1bmNvbW1vbiBmb3IgcHJvdG9jb2xzIHRvIGhhdmUgc29tZSBieXRl IGJhc2VkIHNlZ21lbnRzLCBhbmQgSW50ZWdlcnMgYXJlIG1vcmUgY29udmVuaWVudCB0aGVyZS4N Cg0KVGhlIHByb3Bvc2VkIG1ldGhvZCBhbHNvIGFjY2VwdCB2YXJpYWJsZSBhcmd1bWVudHMgZm9y IGNvbnNpc3RlbmN5IHdpdGggYFN0cmluZyNjb25jYXRgLCBgQXJyYXkjcHVzaGAsIGBBcnJheSNh cHBlbmRgLg0KDQpUaGUgcHJvcG9zZWQgbWV0aG9kIHJldHVybnMgc2VsZiwgbGlrZSBgY29uY2F0 YCBhbmQgb3RoZXJzLg0KDQojIyMgWUpJVCBjb25zaWRlcmF0aW9uDQoNCkkgY29uc3VsdGVkIEBt YXhpbWVjYiBhYm91dCB0aGlzIHByb3Bvc2FsLCBhbmQgYWNjb3JkaW5nIHRvIGhlciwgYWNjZXB0 aW5nIHZhcmlhYmxlIGFyZ3VtZW50cyBtYWtlcyBpdCBoYXJkZXIgZm9yIFlKSVQgdG8gb3B0aW1p emUuDQpJIHN1c3BlY3QgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBBUElzIHRydW1wcyB0aGUgcGVy Zm9ybWFuY2UgY29uc2lkZXJhdGlvbiwgYnV0IEkgdGhpbmsgaXQncyB3b3J0aCBtZW50aW9uaW5n Lg0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcg bGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBh biBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGlu Zm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5t bC5ydWJ5LWxhbmcub3JnLw==