diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-06-21 07:14:05 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-06-21 07:14:05 +0000 |
commit | 82727299777de8f218d3d8c258650d6c7d4098a4 (patch) | |
tree | 00a9284c840eecd2607006426875eb91f03ec9ba /string.c | |
parent | 9d291c82e5de04ce530f366b4eef039838c2ffa5 (diff) | |
download | ruby-82727299777de8f218d3d8c258650d6c7d4098a4.tar.gz |
* string.c (rb_str_casemap): fix memory leak.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -5809,8 +5809,10 @@ rb_str_casemap(VALUE source, OnigCaseFoldType *flags, rb_encoding *enc) } /* fprintf(stderr, "Buffer count is %d\n", buffer_count); *//* for tuning */ - if (buffer_count==1) + if (buffer_count==1) { target = rb_str_new_with_class(source, (const char*)current_buffer->space, target_length); + xfree(current_buffer); + } else { char *target_current = RSTRING_PTR(target = rb_str_new_with_class(source, 0, target_length)); mapping_buffer *previous_buffer; |