summaryrefslogtreecommitdiff
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
commit420e61cf0ba7712026a48092fa215b5c035442a7 (patch)
treeff0fc7bed4c140309c028a564ade0cecf91d621f
parentd8353d6b6e600f464f15529b0c9da225de7cdd3d (diff)
* 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: svn+ssh://ci.ruby-lang.org/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 c86ff239a4..faf93673a9 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 75a6a039ce..5afa1807b9 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;
}