summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}