summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-04 01:56:19 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-04 01:56:19 +0000
commit0399a3d47b4e784918f95a36c2987633c29f8690 (patch)
tree5d404e745926613a551f3fe39f8c77affd9ab731
parent1745d2584a77306a349fc2209495aa6455763dc5 (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_1@52875 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 8ccea9754b..dffdb212fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Dec 4 10:55:08 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 15:14:29 2015 NARUSE, Yui <naruse@ruby-lang.org>
* ext/readline/extconf.rb: call dir_config("libedit")
diff --git a/range.c b/range.c
index 2b5d9394b5..d0adf6973f 100644
--- a/range.c
+++ b/range.c
@@ -1078,7 +1078,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;
}
@@ -1096,7 +1096,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 293818516d..6afa0ea565 100644
--- a/test/ruby/test_range.rb
+++ b/test/ruby/test_range.rb
@@ -266,11 +266,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 0e9489c41a..3f48e5816c 100644
--- a/version.h
+++ b/version.h
@@ -1,10 +1,10 @@
#define RUBY_VERSION "2.1.8"
-#define RUBY_RELEASE_DATE "2015-12-02"
-#define RUBY_PATCHLEVEL 431
+#define RUBY_RELEASE_DATE "2015-12-04"
+#define RUBY_PATCHLEVEL 432
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 12
-#define RUBY_RELEASE_DAY 2
+#define RUBY_RELEASE_DAY 4
#include "ruby/version.h"