diff --git a/ChangeLog b/ChangeLog index 02f1cfa1a8..7c10c31d33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jan 5 12:15:55 2012 NARUSE, Yui + + * file.c (rb_file_join): separator is appended by array length - 1 + times. patched by Benoit Daloze [ruby-core:41901] [Bug #5841] + Thu Jan 5 11:47:54 2012 NARUSE, Yui * lib/uri/common.rb (URI::Parser#initialize_regexp): diff --git a/file.c b/file.c index fb62c51d7a..15d594a059 100644 --- a/file.c +++ b/file.c @@ -3825,7 +3825,7 @@ rb_file_join(VALUE ary, VALUE sep) } if (!NIL_P(sep)) { StringValue(sep); - len += RSTRING_LEN(sep) * RARRAY_LEN(ary) - 1; + len += RSTRING_LEN(sep) * (RARRAY_LEN(ary) - 1); } result = rb_str_buf_new(len); OBJ_INFECT(result, ary);