diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2025-10-08 17:08:20 -0400 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2025-10-10 19:24:55 -0400 |
| commit | 07b59eee6aa120537d7d72422327cc7b855e9400 (patch) | |
| tree | 66cb59c0ef9f9badd9d7a7a78ec686c07e2ec8f4 /doc | |
| parent | d0d1246cd414655356e218e25a1c32666227e504 (diff) | |
Fix memory leak when load_from_binary raises
ibf_load_code will leak memory allocated for the code if an exception is
raised. The following script reproduces the leak:
bin = RubyVM::InstructionSequence.of(1.method(:abs)).to_binary
10.times do
100_000.times do
RubyVM::InstructionSequence.load_from_binary(bin)
rescue ArgumentError
end
puts `ps -o rss= -p #{$$}`
end
Before:
18004
23380
28756
34260
39892
45396
50772
55892
61012
66132
After:
12536
12920
13304
13688
14072
14456
14840
15352
15608
15864
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions
