From d4f507ab97bb039ca5e7b9fcfc1adddfa5e9efaf Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 17 Feb 2015 02:50:37 +0000 Subject: merge revision(s) 49586: [Backport #10853] * string.c (str_discard): does not free for STR_NOFREE string. [Bug #10853][ruby-core:68110] * bootstraptest/test_string.rb: test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ bootstraptest/test_string.rb | 3 +++ string.c | 2 +- version.h | 6 +++--- 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 bootstraptest/test_string.rb diff --git a/ChangeLog b/ChangeLog index 00345de230..d463ec6c3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Feb 17 11:50:06 2015 Yusuke Endoh + + * string.c (str_discard): does not free for STR_NOFREE string. + [Bug #10853][ruby-core:68110] + + * bootstraptest/test_string.rb: test for above. + Sun Feb 15 13:15:46 2015 Nobuyoshi Nakada * ext/socket/getaddrinfo.c (get_addr): reject too long hostname to diff --git a/bootstraptest/test_string.rb b/bootstraptest/test_string.rb new file mode 100644 index 0000000000..849dcd45b0 --- /dev/null +++ b/bootstraptest/test_string.rb @@ -0,0 +1,3 @@ +assert_normal_exit %q{ + inspect.clear +}, '[ruby-core:68110]' diff --git a/string.c b/string.c index 9053835ee2..0fae07d938 100644 --- a/string.c +++ b/string.c @@ -1658,7 +1658,7 @@ static inline void str_discard(VALUE str) { str_modifiable(str); - if (!STR_SHARED_P(str) && !STR_EMBED_P(str)) { + if (!STR_EMBED_P(str) && !FL_TEST(str, STR_SHARED|STR_NOFREE)) { ruby_sized_xfree(STR_HEAP_PTR(str), STR_HEAP_SIZE(str)); RSTRING(str)->as.heap.ptr = 0; RSTRING(str)->as.heap.len = 0; diff --git a/version.h b/version.h index 04eee75321..82f22dd322 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.2.0" -#define RUBY_RELEASE_DATE "2015-02-15" -#define RUBY_PATCHLEVEL 49 +#define RUBY_RELEASE_DATE "2015-02-17" +#define RUBY_PATCHLEVEL 50 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 2 -#define RUBY_RELEASE_DAY 15 +#define RUBY_RELEASE_DAY 17 #include "ruby/version.h" -- cgit v1.2.3