summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-03 17:56:53 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-03 17:56:53 +0000
commitc35409c2762585a40b2b71ab459ba315359fb955 (patch)
tree89df81c931f3fcb7daa19ad512325c213a8207f3
parent8458ff3a414b235b782ec4f1e3e4637774c6d16b (diff)
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
-rw-r--r--ChangeLog5
-rw-r--r--range.c4
-rw-r--r--test/ruby/test_range.rb10
-rw-r--r--version.h6
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 <nobu@ruby-lang.org>
+
+ * 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 <naruse@ruby-lang.org>
* 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"