summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-06 20:17:55 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-06 20:17:55 +0000
commit7422647298bd2e048ed0cfceadad8587076d4b40 (patch)
treeff0fc7bed4c140309c028a564ade0cecf91d621f
parentffa18ef8c872ede034380c8a6b20aee9910f153a (diff)
downloadruby-7422647298bd2e048ed0cfceadad8587076d4b40.tar.gz
ruby-7422647298bd2e048ed0cfceadad8587076d4b40.tar.xz
ruby-7422647298bd2e048ed0cfceadad8587076d4b40.zip
* regenc.c (code_to_mbc): raise RangeError Integer#chr
when more than 255 is given with single byte encoding. [ruby-dev:35789] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--regenc.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c86ff239a..faf93673a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Aug 7 05:14:12 2008 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * regenc.c (code_to_mbc): raise RangeError Integer#chr
+ when more than 255 is given with single byte encoding.
+ [ruby-dev:35789]
+
Thu Aug 7 05:06:03 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* gc.c (run_final): runs finalizers with the object terminated.
diff --git a/regenc.c b/regenc.c
index 75a6a039c..5afa1807b 100644
--- a/regenc.c
+++ b/regenc.c
@@ -629,6 +629,8 @@ onigenc_single_byte_code_to_mbclen(OnigCodePoint code ARG_UNUSED, OnigEncoding e
extern int
onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED)
{
+ if (code > 0xff)
+ rb_raise(rb_eRangeError, "%"PRIdVALUE " out of char range", code);
*buf = (UChar )(code & 0xff);
return 1;
}