Project

General

Profile

« Previous | Next » 

Revision 37ed86fd

Added by peterzhu2118 (Peter Zhu) almost 2 years ago

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