[ruby-core:120887] [Ruby master Bug#20919] IO#seek and IO#pos= do not clear the character buffer in some cases while transcoding
From:
mjrzasa via ruby-core <ruby-core@...>
Date:
2025-02-05 22:09:30 UTC
List:
ruby-core #120887
SXNzdWUgIzIwOTE5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWpyemFzYSAoTWFjaWVrIFJ6xIVzYSku DQoNCg0KSSByZXJ1biB0ZXN0cyBvbiAzLjUuMCBhbmQgaXQncyBpbmRlZWQgcmVsYXRlZCB0byB0 cmFuc2NvZGluZw0KYGBgDQpwdXRzICJIZWxsbyBkZXYtcnVieSEgI3tSVUJZX1ZFUlNJT059Ig0K DQpyZXF1aXJlICd0ZW1wZmlsZScNClRlbXBmaWxlLm9wZW4oKSBkbyB8ZnwNCiAgZi53cml0ZSgn MDEyMzQ1Njc4OScpDQogIGYucmV3aW5kDQogIGYudW5nZXRjKCdhJykNCiAgIyBDaGFyYWN0ZXIg YnVmZmVyIFdJTEwgTk9UIGJlIGNsZWFyZWQNCiAgZi5zZWVrKDIsIDpTRVQpDQogIHB1dHMgZi5n ZXRjICAgICAgICMgPT4gJ2EnLmVuY29kZSgndXRmLTE2bGUnKTsgc2hvdWxkIGJlICcyJy5lbmNv ZGUoJ3V0Zi0xNmxlJykNCmVuZA0KDQpUZW1wZmlsZS5vcGVuKGVuY29kaW5nOiAndXRmLTg6dXRm LTE2bGUnKSBkbyB8ZnwNCiAgZi53cml0ZSgnMDEyMzQ1Njc4OScpDQogIGYucmV3aW5kDQoNCiAg Zi51bmdldGMoJ2EnLmVuY29kZSgndXRmLTE2bGUnKSkNCg0KICAjIENoYXJhY3RlciBidWZmZXIg V0lMTCBOT1QgYmUgY2xlYXJlZA0KICBmLnNlZWsoMiwgOlNFVCkNCg0KICBwdXRzIGYuZ2V0YyAg ICAgICAjID0+ICdhJy5lbmNvZGUoJ3V0Zi0xNmxlJyk7IHNob3VsZCBiZSAnMicuZW5jb2RlKCd1 dGYtMTZsZScpDQplbmQNCg0KVGVtcGZpbGUub3BlbigpIGRvIHxmfA0KICBmLndyaXRlKCcwMTIz NDU2Nzg5JykNCiAgZi5yZXdpbmQNCg0KICBmLnVuZ2V0YygnYScuZW5jb2RlKCd1dGYtMTZsZScp KQ0KDQogICMgQ2hhcmFjdGVyIGJ1ZmZlciBXSUxMIE5PVCBiZSBjbGVhcmVkDQogIGYuc2Vlaygy LCA6U0VUKQ0KDQogIHB1dHMgZi5nZXRjICAgICAgICMgPT4gJ2EnLmVuY29kZSgndXRmLTE2bGUn KTsgc2hvdWxkIGJlICcyJy5lbmNvZGUoJ3V0Zi0xNmxlJykNCmVuZA0KDQpUZW1wZmlsZS5vcGVu KGVuY29kaW5nOiAndXRmLTg6dXRmLTE2bGUnKSBkbyB8ZnwNCiAgZi53cml0ZSgnMDEyMzQ1Njc4 OScpDQogIGYucmV3aW5kDQoNCiAgZi51bmdldGMoJ2EnKQ0KDQogICMgQ2hhcmFjdGVyIGJ1ZmZl ciBXSUxMIE5PVCBiZSBjbGVhcmVkDQogIGYuc2VlaygyLCA6U0VUKQ0KDQogIHB1dHMgZi5nZXRj ICAgICAgICMgPT4gJ2EnLmVuY29kZSgndXRmLTE2bGUnKTsgc2hvdWxkIGJlICcyJy5lbmNvZGUo J3V0Zi0xNmxlJykNCmVuZA0KDQpgYGANCg0KYGBgDQpIZWxsbyBkZXYtcnVieSEgMy41LjANCjIN CmENCjINCmEyDQoNCmBgYA0Kc28gdGhlIGlzc3VlIGhhcHBlbmVkIHdoZW4gZW5jb2Rpbmcgd2Fz IHNldCBvbiBgLm9wZW5gLiBBbHNvIHdoZW4gYSBub24tZW5jb2RlZCBjaGFyIHdhcyBgdW5nZXRj Jy1lZCwgYGdldGNgIHJldHVybmVkIHR3byBjaGFyYWN0ZXJzLg0KDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIwOTE5OiBJTyNzZWVrIGFuZCBJTyNwb3M9 IGRvIG5vdCBjbGVhciB0aGUgY2hhcmFjdGVyIGJ1ZmZlciBpbiBzb21lIGNhc2VzIHdoaWxlIHRy YW5zY29kaW5nDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA5MTkjY2hhbmdl LTExMTc2MQ0KDQoqIEF1dGhvcjogamF2YW50aHJvcHVzIChKZXJlbXkgQm9wcCkNCiogU3RhdHVz OiBPcGVuDQoqIHJ1YnkgLXY6IHJ1YnkgMy40LjBkZXYgKDIwMjQtMTEtMjhUMTI6Mzg6MTZaIG1h c3RlciAzYWYxYTA0NzQxKSArUFJJU00gW3g4Nl82NC1saW51eF0NCiogQmFja3BvcnQ6IDMuMTog VU5LTk9XTiwgMy4yOiBVTktOT1dOLCAzLjM6IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCldoZW4gdHJhbnNjb2RpbmcgY2hhcmFjdGVycywgYElPI3Nl ZWtgIGFuZCBgSU8jcG9zPWAgb25seSBjbGVhciB0aGUgaW50ZXJuYWwgY2hhcmFjdGVyIGJ1ZmZl ciBpZiBgSU8jZ2V0Y2AgaXMgY2FsbGVkIGZpcnN0Og0KDQpgYGBydWJ5DQpyZXF1aXJlICd0ZW1w ZmlsZScNCg0KVGVtcGZpbGUub3BlbihlbmNvZGluZzogJ3V0Zi04OnV0Zi0xNmxlJykgZG8gfGZ8 DQogIGYud3JpdGUoJzAxMjM0NTY3ODknKQ0KICBmLnJld2luZA0KDQogIGYudW5nZXRjKCdhJy5l bmNvZGUoJ3V0Zi0xNmxlJykpDQoNCiAgIyBDaGFyYWN0ZXIgYnVmZmVyIFdJTEwgTk9UIGJlIGNs ZWFyZWQNCiAgZi5zZWVrKDIsIDpTRVQpDQoNCiAgZi5nZXRjICAgICAgICMgPT4gJ2EnLmVuY29k ZSgndXRmLTE2bGUnKTsgc2hvdWxkIGJlICcyJy5lbmNvZGUoJ3V0Zi0xNmxlJykNCmVuZA0KDQpU ZW1wZmlsZS5vcGVuKGVuY29kaW5nOiAndXRmLTg6dXRmLTE2bGUnKSBkbyB8ZnwNCiAgZi53cml0 ZSgnMDEyMzQ1Njc4OScpDQogIGYucmV3aW5kDQoNCiAgZi51bmdldGMoJ2EnLmVuY29kZSgndXRm LTE2bGUnKSkNCg0KICAjIENoYXJhY3RlciBidWZmZXIgV0lMTCBOT1QgYmUgY2xlYXJlZA0KICBm LnBvcyA9IDINCg0KICBmLmdldGMgICAgICAgIyA9PiAnYScuZW5jb2RlKCd1dGYtMTZsZScpOyBz aG91bGQgYmUgJzInLmVuY29kZSgndXRmLTE2bGUnKQ0KZW5kDQoNClRlbXBmaWxlLm9wZW4oZW5j b2Rpbmc6ICd1dGYtODp1dGYtMTZsZScpIGRvIHxmfA0KICBmLndyaXRlKCcwMTIzNDU2Nzg5JykN CiAgZi5yZXdpbmQNCg0KICAjIEFkZGVkIGEgY2FsbCB0byAjZ2V0YyBoZXJlDQogIGYuZ2V0Yw0K DQogIGYudW5nZXRjKCdhJy5lbmNvZGUoJ3V0Zi0xNmxlJykpDQoNCiAgIyBDaGFyYWN0ZXIgYnVm ZmVyIFdJTEwgYmUgY2xlYXJlZCBub3cNCiAgZi5zZWVrKDIsIDpTRVQpDQogICMgU2FtZSBiZWhh dmlvciBmb3IgI3Bvcz0NCiAgI2YucG9zID0gMg0KDQogIGYuZ2V0YyAgICAgICAjID0+ICcyJy5l bmNvZGUoJ3V0Zi0xNmxlJykNCmVuZA0KYGBgDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcK IFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1Ynkt bGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWls bWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=