1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

merge revision(s) 8b3774be3d: [Backport #15935]

Fix memory leak

	* string.c (str_make_independent_expand): free independent buffer.
	  [Bug# 15935]

	Co-Authored-By: luke-gru (Luke Gruber) <luke.gru@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagachika 2019-09-28 04:32:46 +00:00
parent 641e384341
commit 78ef2d0f33
2 changed files with 6 additions and 3 deletions

View file

@ -2095,7 +2095,7 @@ static void
str_make_independent_expand(VALUE str, long len, long expand, const int termlen)
{
char *ptr;
const char *oldptr;
char *oldptr;
long capa = len + expand;
if (len > capa) len = capa;
@ -2114,6 +2114,9 @@ str_make_independent_expand(VALUE str, long len, long expand, const int termlen)
if (oldptr) {
memcpy(ptr, oldptr, len);
}
if (FL_TEST_RAW(str, STR_NOEMBED|STR_NOFREE|STR_SHARED) == STR_NOEMBED) {
xfree(oldptr);
}
STR_SET_NOEMBED(str);
FL_UNSET(str, STR_SHARED|STR_NOFREE);
TERM_FILL(ptr + len, termlen);

View file

@ -1,10 +1,10 @@
#define RUBY_VERSION "2.6.5"
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
#define RUBY_PATCHLEVEL 109
#define RUBY_PATCHLEVEL 110
#define RUBY_RELEASE_YEAR 2019
#define RUBY_RELEASE_MONTH 9
#define RUBY_RELEASE_DAY 27
#define RUBY_RELEASE_DAY 28
#include "ruby/version.h"