diff --git a/ChangeLog b/ChangeLog index e7b893d056..c1cd743671 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Dec 23 23:36:28 2004 Nobuyoshi Nakada + + * process.c (proc_setgroups): check if the argument lenght is + modified. fixed: [ruby-dev:25285] + Thu Dec 23 19:08:41 2004 Tanaka Akira * rubyio.h: rename FMODE_UNSEEKABLE to FMODE_DUPLEX. diff --git a/process.c b/process.c index f3b8426f6d..c42a91903a 100644 --- a/process.c +++ b/process.c @@ -2697,7 +2697,7 @@ proc_setgroups(VALUE obj, VALUE ary) groups = ALLOCA_N(gid_t, ngroups); - for (i = 0; i < ngroups; i++) { + for (i = 0; i < ngroups && i < RARRAY(ary)->len; i++) { VALUE g = RARRAY(ary)->ptr[i]; if (FIXNUM_P(g)) {