diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-11 03:08:51 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-11 03:08:51 +0000 |
commit | 9f9ace81f8cd7624f1cefb8c2b9af1fbba72af90 (patch) | |
tree | f207dfe4fbe29da09ad943633314668993b64c82 | |
parent | 021e7b7f20718a31906ef2728fab73d18e42013a (diff) | |
download | ruby-9f9ace81f8cd7624f1cefb8c2b9af1fbba72af90.tar.gz |
* encoding.c (enc_replicate): new encoding name must be valid
c-string. [ruby-dev:40954]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | encoding.c | 2 | ||||
-rw-r--r-- | test/ruby/test_encoding.rb | 1 |
3 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Sun Apr 11 12:08:49 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (enc_replicate): new encoding name must be valid + c-string. [ruby-dev:40954] + Sun Apr 11 11:58:23 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * include/ruby/win32.h (ftruncate): rename to get rid of conflict diff --git a/encoding.c b/encoding.c index 0e26376121..f4df3a09e2 100644 --- a/encoding.c +++ b/encoding.c @@ -326,7 +326,7 @@ static VALUE enc_replicate(VALUE encoding, VALUE name) { return rb_enc_from_encoding_index( - rb_enc_replicate(RSTRING_PTR(name), + rb_enc_replicate(StringValueCStr(name), rb_to_encoding(encoding))); } diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb index 600101a59c..6d36db9cf0 100644 --- a/test/ruby/test_encoding.rb +++ b/test/ruby/test_encoding.rb @@ -54,6 +54,7 @@ class TestEncoding < Test::Unit::TestCase def test_replicate assert(Encoding::UTF_8.replicate('UTF-8-ANOTHER')) assert(Encoding::ISO_2022_JP.replicate('ISO-2022-JP-ANOTHER')) + assert_raise(TypeError, bug3127 = '[ruby-dev:40954]') {Encoding::UTF_8.replicate(0)} end def test_dummy_p |