From dc36ca0ba52ec2707c91fd87ea55a423e97c5bd9 Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 30 Jan 2008 15:21:40 +0000 Subject: [PATCH] * io.c (select_internal): fix SEGV by `select [STDIN],nil,[STDIN]'. fixed by Petr Chromec. http://rubyforge.org/tracker/index.php?func=detail&aid=17275&group_id=426&atid=1698 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ io.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b355a1a8d8..fd81b1a858 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Jan 31 00:01:51 2008 Tanaka Akira + + * io.c (select_internal): fix SEGV by `select [STDIN],nil,[STDIN]'. + fixed by Petr Chromec. + http://rubyforge.org/tracker/index.php?func=detail&aid=17275&group_id=426&atid=1698 + Wed Jan 30 17:32:49 2008 NARUSE, Yui * enc/*.c: add GB12345, UCS-{2,4}{BE,LE}. diff --git a/io.c b/io.c index 3a58fdee9a..32a37df3c9 100644 --- a/io.c +++ b/io.c @@ -5316,7 +5316,7 @@ select_internal(VALUE read, VALUE write, VALUE except, struct timeval *tp, rb_fd if (ep) { list = RARRAY_PTR(res)[2]; for (i=0; i< RARRAY_LEN(except); i++) { - VALUE obj = rb_ary_entry(write, i); + VALUE obj = rb_ary_entry(except, i); VALUE io = rb_io_get_io(obj); VALUE write_io = GetWriteIO(io); GetOpenFile(io, fptr);