From daa622aed079b4434e607820d7577b4a7d4f2bfc Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 29 Feb 2008 09:19:15 +0000 Subject: * time.c (time_strftime): format should be ascii compatible. * parse.y (rb_intern3): non ASCII compatible symbols. * re.c (rb_reg_regsub): add encoding check. * string.c (rb_str_chomp_bang): ditto. * test/ruby/test_utf16.rb (TestUTF16::test_chomp): raises exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- time.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'time.c') diff --git a/time.c b/time.c index 8b3ac6c501..455f15bc1f 100644 --- a/time.c +++ b/time.c @@ -12,6 +12,7 @@ #include "ruby/ruby.h" #include #include +#include "ruby/encoding.h" #ifdef HAVE_UNISTD_H #include @@ -2077,6 +2078,9 @@ time_strftime(VALUE time, VALUE format) time_get_tm(time, tobj->gmt); } StringValue(format); + if (!rb_enc_str_asciicompat_p(format)) { + rb_raise(rb_eArgError, "format should have ASCII compatible encoding"); + } format = rb_str_new4(format); fmt = RSTRING_PTR(format); len = RSTRING_LEN(format); -- cgit v1.2.3