ruby-core

Mailing list archive

[ruby-core:95566] [Ruby master Bug#16278] Potential memory leak when an hash is used as a key for another hash

From: merch-redmine@...
Date: 2019-10-26 15:23:30 UTC
List: ruby-core #95566
SXNzdWUgIzE2Mjc4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgamVyZW15ZXZhbnMwIChKZXJlbXkgRXZh
bnMpLg0KDQpTdGF0dXMgY2hhbmdlZCBmcm9tIE9wZW4gdG8gUmVqZWN0ZWQNCg0KY3Jpc3RpYW5n
cmVjbyAoQ3Jpc3RpYW4gR3JlY28pIHdyb3RlOg0KPiBIaSBKZXJlbXksIHRoYW5rcyBmb3IgdGhl
c2UgZGV0YWlscyENCj4gDQo+IEkgZG9u4oCZdCBrbm93IHRoZSBkZXRhaWxzIG9mIHJ1YnnigJlz
IEdDLCBzZWVtcyB0byBtZSBpdCBtaWdodCBiZWhhdmUgdW5wcmVkaWN0YWJseSBzb21ldGltZXMu
IEkgZ3Vlc3Mgd2hhdCBjb25mdXNlcyBtZSBub3cgaXMgdGhhdCBhbHRob3VnaCB0aGF0IG9iamVj
dCBpcyByZXRhaW5lZCB3ZSBkb27igJl0IG9ic2VydmUgdW5ib3VuZGVkIG1lbW9yeSBncm93dGgg
d2hlbiBjYWxsaW5nIHRoZSBtZXRob2QgaW4gYSBsb29wOiBpcyBpdCBldmVudHVhbGx5IGNvbGxl
Y3RlZD8gSXMgaXQgc29tZWhvdyByZS11c2VkLCBvciB3aGF0PyANCg0KSXQgaXMgZXZlbnR1YWxs
eSBjb2xsZWN0ZWQgd2hlbiBSdWJ5J3MgR0MgY2FuIG5vIGxvbmdlciBmaW5kIGEgcmVmZXJlbmNl
IHRvIGl0LiAgVGhlIHJlYXNvbiBpdCBtYXkgYmUgcmV0YWluZWQgZXZlbiB0aG91Z2ggdGhlcmUg
aXMgbm8gZGlyZWN0IHJlZmVyZW5jZSB0byBpdCBpbiBSdWJ5IGlzIHRoYXQgcG9pbnRlcnMgdG8g
dGhlIG9iamVjdCBtYXkgc3RpbGwgZXhpc3Qgc29tZXdoZXJlIG9uIHRoZSB0aGUgQy9SdWJ5IHN0
YWNrLiAgUnVieSdzIEdDIGlzIGNvbnNlcnZhdGl2ZSwgcGFydCBvZiB0aGUgc2NhbiBmb3Igb2Jq
ZWN0cyBpcyBqdXN0IGxvb2tpbmcgYXQgYXQgc3RhY2sgbWVtb3J5LCBhbmQgaWYgYW55IG1lbW9y
eSBjb3VsZCBiZSBjb25zaWRlcmVkIGEgcG9pbnRlciB0byBhIFJ1Ynkgb2JqZWN0LCB0aGF0IFJ1
Ynkgb2JqZWN0IGlzIHJldGFpbmVkIGR1cmluZyB0aGF0IEdDIHBhc3MuDQoNClRoaXMgY29uc2Vy
dmF0aXZlIEdDIGlzIG5lZWRlZCB0byBtYWtlIEMgZXh0ZW5zaW9ucyB3b3JrLiAgQyBsb2NhbCB2
YXJpYWJsZXMgbWF5IGhvbGQgcG9pbnRlcnMgdG8gUnVieSBvYmplY3RzLCBhbmQgY29sbGVjdGlu
ZyB0aGUgUnVieSBvYmplY3RzIHdoaWxlIHRoZXJlIGlzIGEgQyBsb2NhbCB2YXJpYWJsZSBwb2lu
dGluZyB0byB0aGVtIGNhbiBjYXVzZSB1bmRlZmluZWQgYmVoYXZpb3IgKG9mdGVuIGEgc2VnZmF1
bHQpLg0KDQo+IEFub3RoZXIgdGhpbmcgdGhhdCBpbnRyaWd1ZXMgbWUgaXMgdGhhdCB0aGlzIGJl
aGF2aW91ciBpcyBub3QgYWx3YXlzIGNvbnNpc3RlbnQ6IGl0IG1pZ2h0IHZhcnkgYWNyb3NzIGRp
ZmZlcmVudCBydWJ5IGJ1aWxkcyAoeW91IG1lbnRpb25lZCB0aGF0IG1lbW9yeSBsYXlvdXQgYW5k
IGNvbXBpbGVyIG9wdGltaXNhdGlvbnMgbWlnaHQgYWZmZWN0IHRoZSBvdXRwdXQpIGFuZCBpcyBh
bHNvIHN1YnRseSBpbmZsdWVuY2VkIGJ5IGNvZGUgY2hhbmdlcy4gRm9yIGV4YW1wbGUsIGlmIEkg
YWRkIHRoaXMgbGluZSBgcHV0cyBPYmplY3RTcGFjZS5jb3VudF9vYmplY3RzWzpUX0hBU0hdYCBq
dXN0IGFmdGVyIHRoZSBjYWxsIHRvIGBjcmVhdGVgIHRoZW4gYGg0YCBpcyBhbG1vc3QgbmV2ZXIg
Zm91bmQgYWZ0ZXIgR0MgKG9yIGl0cyByZWZlcmVuY2UgaXMgZm91bmQgYXNzb2NpYXRlZCB0byBh
bm90aGVyIG9iamVjdCkuIE5vdCBzdXJlIHdoeSB0aGlzIGhhcHBlbnMgdGhvdWdoIQ0KDQpJdCBo
YXBwZW5zIGJlY2F1c2UgdGhlIG1lbW9yeSBsYXlvdXQgY2hhbmdlZCwgYW5kIHRoZXJlIGFyZSBu
byBsb25nZXIgbG9jYXRpb25zIGluIG1lbW9yeSBvbiB0aGUgc3RhY2sgdGhhdCBwb2ludCB0byB0
aGUgb2JqZWN0cy4NCg0KPiBub2J1IChOb2J1eW9zaGkgTmFrYWRhKSB3cm90ZToNCj4gPiBBZGRp
bmcgdGhpcyBtZXRob2QgYW5kIGNhbGxpbmcgaXQgYWZ0ZXIgYGNyZWF0ZWAgY2xlYXJzIHRoZSBv
dXRwdXQuDQo+ID4gDQo+ID4gYGBgcnVieQ0KPiA+IGRlZiBnYXJiYWdlDQo+ID4gICBoMSA9IGgy
ID0gaDMgPSBoNCA9IGg1ID0gaDYgPSBoNyA9IGg4ID0gaDkgPSBoMTAgPSBuaWwNCj4gPiBlbmQN
Cj4gPiBgYGANCj4gPiANCj4gPiBTbyBhIOKAnHNoYWRvd+KAnSBzZWVtcyBzdGF5aW5nIG9uIHRo
ZSBWTSBzdGFjay4NCj4gDQo+IEhleSBOb2J1LCB3aGF0IGlzIGdvaW5nIG9uIGhlcmU/IFdoYXQg
bWVhbnMgdGhhdCBhIHNoYWRvdyBpcyByZXRhaW5lZCBvbiB0aGUgc3RhY2s/DQoNCkl0IGp1c3Qg
bWVhbnMgdGhlcmUgYXJlIGxvY2F0aW9ucyBpbiBtZW1vcnkgb24gdGhlIHN0YWNrIHRoYXQgcG9p
bnQgdG8gdGhlIFJ1Ynkgb2JqZWN0cy4gIEJ5IGNhbGxpbmcgYW5vdGhlciBtZXRob2QgdGhhdCBz
ZXRzIGEgYnVuY2ggb2YgbG9jYWwgdmFyaWFibGVzLCB0aGUgbG9jYXRpb25zIGluIG1lbW9yeSB0
aGF0IHByZXZpb3VzbHkgcG9pbnRlZCB0byB0aGUgaGFzaGVzIG5vdyBhcmUgbW9kaWZpZWQgdG8g
Y29udGFpbiBgbmlsYCAoYFFuaWxgIGluIEMsIDB4NCBvciAweDggZGVwZW5kaW5nIG9uIHByb2Nl
c3NvciB0eXBlKS4gIFNpbmNlIG5vIGxvY2F0aW9ucyBpbiBtZW1vcnkgcG9pbnQgdG8gdGhlIGhh
c2hlcywgdGhlIGhhc2hlcyBjYW4gdGhlbiBiZSBHQ2VkLg0KDQpIb3BlZnVsbHkgdGhhdCBwcm92
aWRlcyBhbiBhZGVxdWF0ZSBleHBsYW5hdGlvbiBmb3IgUnVieSdzIEdDLiAgRm9yIG1vcmUgYmFj
a2dyb3VuZCwgcGxlYXNlIHJldmlldyBzb21lIGNvbmZlcmVuY2UgcHJlc2VudGF0aW9ucyBieSBA
a28xIDogIGh0dHA6Ly93d3cuYXRkb3QubmV0L35rbzEvYWN0aXZpdGllcy8uICBJJ20gZ29pbmcg
dG8gY2xvc2UgdGhpcyBub3cuICBQbGVhc2Ugb25seSByZW9wZW4gaWYgeW91IGNhbiBzaG93IGEg
Y2FzZSB3aXRoIHVuYm91bmRlZCBtZW1vcnkgZ3Jvd3RoLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzE2Mjc4OiBQb3RlbnRpYWwgbWVtb3J5IGxlYWsg
d2hlbiBhbiBoYXNoIGlzIHVzZWQgYXMgYSBrZXkgZm9yIGFub3RoZXIgaGFzaA0KaHR0cHM6Ly9i
dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2Mjc4I2NoYW5nZS04MjM0Nw0KDQoqIEF1dGhvcjog
Y3Jpc3RpYW5ncmVjbyAoQ3Jpc3RpYW4gR3JlY28pDQoqIFN0YXR1czogUmVqZWN0ZWQNCiogUHJp
b3JpdHk6IE5vcm1hbA0KKiBBc3NpZ25lZTogDQoqIFRhcmdldCB2ZXJzaW9uOiANCiogcnVieSAt
djogcnVieSAyLjYuNXAxMTQgKDIwMTktMTAtMDEgcmV2aXNpb24gNjc4MTIpIFt4ODZfNjQtZGFy
d2luMThdDQoqIEJhY2twb3J0OiAyLjU6IFVOS05PV04sIDIuNjogVU5LTk9XTg0KLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSGksDQoNCkkndmUgYmVlbiBoaXR0aW5n
IHdoYXQgc2VlbXMgdG8gYmUgYSBtZW1vcnkgbGVhay4NCg0KV2hlbiBhbiBoYXNoIGlzIHVzZWQg
YXMga2V5IGZvciBhbm90aGVyIGhhc2gsIHRoZSBmb3JtZXIgb2JqZWN0IHdpbGwgYmUgcmV0YWlu
ZWQgZXZlbiBhZnRlciBtdWx0aXBsZSBHQyBydW5zLg0KDQpUaGUgZm9sbG93aW5nIGNvZGUgc25p
cHBldCBkZW1vbnN0cmF0ZXMgaG93IHRoZSBoYXNoIGB7OmEgPT4gMX1gICh3aGljaCBpcyBuZXZl
ciB1c2VkIG91dHNpZGUgdGhlIHNjb3BlIG9mIGBjcmVhdGVgKSBpcyByZXRhaW5lZCBldmVuIGFm
dGVyIDEwIEdDIHJ1bnMgKGBmaW5kYCB3aWxsIGxvb2sgZm9yIGFuIG9iamVjdCB3aXRoIGEgZ2l2
ZW4gYG9iamVjdF9pZGAgb24gaGVhcCkuDQoNCg0KYGBgcnVieQ0KIyBmcm96ZW5fc3RyaW5nX2xp
dGVyYWw6IHRydWUNCg0KZGVmIGNyZWF0ZQ0KICBoID0ge3s6YSA9PiAxfSA9PiAyfQ0KICBoLmtl
eXMuZmlyc3Qub2JqZWN0X2lkDQplbmQNCg0KZGVmIGZpbmQob2JqZWN0X2lkKQ0KICBPYmplY3RT
cGFjZS5lYWNoX29iamVjdChIYXNoKS5hbnk/e3xofCBoLm9iamVjdF9pZCA9PSBvYmplY3RfaWR9
ID8gMSA6IDANCmVuZA0KDQoNCmxlYWtlZCA9IGNyZWF0ZQ0KDQoxMC50aW1lcyBkbw0KICBHQy5z
dGFydChmdWxsX21hcms6IHRydWUsIGltbWVkaWF0ZV9zd2VlcDogdHJ1ZSkNCmVuZA0KDQpleGl0
IGZpbmQobGVha2VkKQ0KYGBgDQoNClRoaXMgY29kZSBzbmlwcGV0IGlzIGV4cGVjdGVkIHRvIGV4
aXQgd2l0aCBgMGAgd2hpbGUgaXQgZXhpdHMgd2l0aCBgMWAgaW4gbXkgdGVzdHMuIEkndmUgdGVz
dGVkIHRoaXMgb24gbXVsdGlwbGUgcmVjZW50IHJ1YnkgdmVyc2lvbnMgYW5kIE9TcywgZWl0aGVy
IGxvY2FsbHkgKE9TWCB3aXRoIGhvbWVicmV3KSBvciBpbiBkaWZmZXJlbnQgQ0lzIChlLmcuIFto
ZXJlXShodHRwczovL2dpdGh1Yi5jb20vY3Jpc3RpYW5ncmVjby9ydWJ5LWhhc2gtbGVhay9jb21t
aXQvMjg1ZTU4NmI3MTkzMTA0OTg5ZjU5YjkyNTc5ZmU4ZjI1NzcwMTQxZS9jaGVja3M/Y2hlY2tf
c3VpdGVfaWQ9Mjc4NzExNTY2KSkuDQoNCkNhbiB5b3UgcGxlYXNlIGhlbHAgdW5kZXJzdGFuZCB3
aGF0J3MgZ29pbmcgb24gaGVyZT8gVGhhbmtzIQ0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVi
eS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5
LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y
Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next