diff --git a/ChangeLog b/ChangeLog index b887c09476..514c00e74f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Dec 11 09:36:29 2006 Yukihiro Matsumoto + + * string.c (rb_str_aset): index double decode problem. + [ruby-core:09695] + Sat Dec 9 21:39:24 2006 Nobuyoshi Nakada * eval.c (ruby_cleanup): keep the exception till after END blocks. diff --git a/string.c b/string.c index 8fc5c9836a..1e1fa33ebf 100644 --- a/string.c +++ b/string.c @@ -1811,8 +1811,8 @@ rb_str_aset(VALUE str, VALUE indx, VALUE val) switch (TYPE(indx)) { case T_FIXNUM: - num_index: idx = FIX2LONG(indx); + num_index: if (RSTRING_LEN(str) <= idx) { out_of_range: rb_raise(rb_eIndexError, "index %ld out of string", idx);