diff options
| author | nagachika <nagachika@ruby-lang.org> | 2024-01-18 11:51:58 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2024-01-18 11:51:58 +0900 |
| commit | a26b41bf7a2db69b0889ed599f568a4ba2529eba (patch) | |
| tree | b33c9549ee43b7291fff68744a846c55e7a0cd13 /spec/ruby/core/basicobject/method_missing_spec.rb | |
| parent | b4f8623441a8be53b643fed826ba44e933cafd7e (diff) | |
merge revision(s) 37ed86fd3c798e298fad9db6e7df1f3f45e1e03b: [Backport #20161]
Fix memory leak in regexp grapheme clusters
[Bug #20161]
The cc->mbuf gets overwritten, so we need to free it to not leak memory.
For example:
str = "hello world".encode(Encoding::UTF_32LE)
10.times do
1_000.times do
str.grapheme_clusters
end
puts `ps -o rss= -p #{$$}`
end
Before:
15536
15760
15920
16144
16304
16480
16640
16784
17008
17280
After:
15584
15584
15760
15824
15888
15888
15888
15888
16048
16112
---
regparse.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Diffstat (limited to 'spec/ruby/core/basicobject/method_missing_spec.rb')
0 files changed, 0 insertions, 0 deletions
