diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-01-08 15:14:27 -0500 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2024-01-09 09:41:02 -0500 |
| commit | 02d8bad6e12b8614f007c8c30eb50aff4bddcfb4 (patch) | |
| tree | 9a2b1e1084ed422927a539aaf6956ccb8a3c533d /test/ruby | |
| parent | 38bc107f0ba75f93717cf62ed1fe3d85f315d9d3 (diff) | |
Fix memory leak in parser for invalid syntax
The strterm is leaked when there is invalid syntax.
For example:
10.times do
100_000.times do
begin
RubyVM::InstructionSequence.compile('private def foo = puts "Hello"')
rescue SyntaxError
end
end
puts `ps -o rss= -p #{$$}`
end
Before:
20384
26256
32592
36720
42016
47888
53248
57456
62928
65936
After:
16720
17488
17616
17616
17616
17616
17616
17616
17616
16032
Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
Diffstat (limited to 'test/ruby')
0 files changed, 0 insertions, 0 deletions
