aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/nkf/nkf.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7705aec9da..1877d5b9f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 );