summaryrefslogtreecommitdiff
path: root/regenc.c
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 /regenc.c
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
Diffstat (limited to 'regenc.c')
-rw-r--r--regenc.c2
1 files changed, 2 insertions, 0 deletions
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;
}