From c35409c2762585a40b2b71ab459ba315359fb955 Mon Sep 17 00:00:00 2001 From: nagachika Date: Thu, 3 Dec 2015 17:56:53 +0000 Subject: [PATCH] merge revision(s) 52868: [Backport #11767] * range.c (range_to_s): should be infected by the receiver. str2 infects by appending. [ruby-core:71811] [Bug #11767] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@52873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ range.c | 4 ++-- test/ruby/test_range.rb | 10 ++++++++++ version.h | 6 +++--- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index c16220af01..12e2a00b9a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Dec 4 02:42:37 2015 Nobuyoshi Nakada + + * range.c (range_to_s): should be infected by the receiver. + str2 infects by appending. [ruby-core:71811] [Bug #11767] + Wed Dec 2 03:17:01 2015 NARUSE, Yui * ext/readline/extconf.rb: call dir_config("libedit") diff --git a/range.c b/range.c index 857cb4882d..22d93d3f32 100644 --- a/range.c +++ b/range.c @@ -1085,7 +1085,7 @@ range_to_s(VALUE range) str = rb_str_dup(str); rb_str_cat(str, "...", EXCL(range) ? 3 : 2); rb_str_append(str, str2); - OBJ_INFECT(str, str2); + OBJ_INFECT(str, range); return str; } @@ -1103,7 +1103,7 @@ inspect_range(VALUE range, VALUE dummy, int recur) str = rb_str_dup(str); rb_str_cat(str, "...", EXCL(range) ? 3 : 2); rb_str_append(str, str2); - OBJ_INFECT(str, str2); + OBJ_INFECT(str, range); return str; } diff --git a/test/ruby/test_range.rb b/test/ruby/test_range.rb index 852515f3a2..6eb6b45d61 100644 --- a/test/ruby/test_range.rb +++ b/test/ruby/test_range.rb @@ -271,11 +271,21 @@ class TestRange < Test::Unit::TestCase def test_to_s assert_equal("0..1", (0..1).to_s) assert_equal("0...1", (0...1).to_s) + + bug11767 = '[ruby-core:71811] [Bug #11767]' + assert_predicate(("0".taint.."1").to_s, :tainted?, bug11767) + assert_predicate(("0".."1".taint).to_s, :tainted?, bug11767) + assert_predicate(("0".."1").taint.to_s, :tainted?, bug11767) end def test_inspect assert_equal("0..1", (0..1).inspect) assert_equal("0...1", (0...1).inspect) + + bug11767 = '[ruby-core:71811] [Bug #11767]' + assert_predicate(("0".taint.."1").inspect, :tainted?, bug11767) + assert_predicate(("0".."1".taint).inspect, :tainted?, bug11767) + assert_predicate(("0".."1").taint.inspect, :tainted?, bug11767) end def test_eqq diff --git a/version.h b/version.h index 1e34351196..90b28245a0 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.2.4" -#define RUBY_RELEASE_DATE "2015-12-02" -#define RUBY_PATCHLEVEL 218 +#define RUBY_RELEASE_DATE "2015-12-04" +#define RUBY_PATCHLEVEL 219 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 12 -#define RUBY_RELEASE_DAY 2 +#define RUBY_RELEASE_DAY 4 #include "ruby/version.h"