summaryrefslogtreecommitdiff
path: root/include/ruby/internal/iterator.h
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2024-01-04 15:35:34 -0500
committerPeter Zhu <peter@peterzhu.ca>2024-01-08 09:14:04 -0500
commitb3d612804946e841e47d14e09b6839224a79c1a4 (patch)
tree9f07faa7bc9f46569faab74255dddfc5344e1cb7 /include/ruby/internal/iterator.h
parent8f4eda50921f9adc20df3138208e8ebd0e7d582e (diff)
Fix memory leak in grapheme clusters
[Bug #20150] String#grapheme_cluters and String#each_grapheme_cluster leaks memory because if the string is not UTF-8, then the created regex will not be freed. 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: 26000 42256 59008 75792 92528 109232 125936 142672 159392 176160 After: 9264 9504 9808 10000 10128 10224 10352 10544 10704 10896
Diffstat (limited to 'include/ruby/internal/iterator.h')
0 files changed, 0 insertions, 0 deletions