diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/nkf/nkf.c | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Fri May 21 19:11:42 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/nkf/nkf.c (rb_nkf_convert, rb_nkf_guess): check too huge + string. + Fri May 21 18:12:12 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * include/ruby/ruby.h (rb_intern): C90 needs nonempty macro diff --git a/ext/nkf/nkf.c b/ext/nkf/nkf.c index 1eb4104357..05fd36de64 100644 --- a/ext/nkf/nkf.c +++ b/ext/nkf/nkf.c @@ -155,12 +155,12 @@ rb_nkf_convert(VALUE obj, VALUE opt, VALUE src) input_ctr = 0; StringValue(src); input = (unsigned char *)RSTRING_PTR(src); - i_len = RSTRING_LEN(src); + i_len = RSTRING_LENINT(src); tmp = result = rb_str_new(0, i_len*3 + 10); output_ctr = 0; output = (unsigned char *)RSTRING_PTR(result); - o_len = RSTRING_LEN(result); + o_len = RSTRING_LENINT(result); *output = '\0'; kanji_convert(NULL); @@ -192,7 +192,7 @@ rb_nkf_guess(VALUE obj, VALUE src) input_ctr = 0; StringValue(src); input = (unsigned char *)RSTRING_PTR(src); - i_len = RSTRING_LEN(src); + i_len = RSTRING_LENINT(src); guess_f = TRUE; kanji_convert( NULL ); |