ruby-changes:9452
From: akr <ko1@a...>
Date: Thu, 25 Dec 2008 17:07:19 +0900 (JST)
Subject: [ruby-changes:9452] Ruby:r20990 (trunk): * io.c (rb_io_initialize): check fd validity.
akr 2008-12-25 17:07:01 +0900 (Thu, 25 Dec 2008) New Revision: 20990 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20990 Log: * io.c (rb_io_initialize): check fd validity. [ruby-dev:36646] Modified files: trunk/ChangeLog trunk/io.c Index: ChangeLog =================================================================== --- ChangeLog (revision 20989) +++ ChangeLog (revision 20990) @@ -1,3 +1,7 @@ +Thu Dec 25 17:06:13 2008 Tanaka Akira <akr@f...> + + * io.c (rb_io_initialize): check fd validity. [ruby-dev:36646] + Thu Dec 25 16:23:31 2008 Tanaka Akira <akr@f...> * io.c (flush_before_seek): check io_fflush result. Index: io.c =================================================================== --- io.c (revision 20989) +++ io.c (revision 20990) @@ -5928,6 +5928,7 @@ int fd, fmode, oflags = O_RDONLY; convconfig_t convconfig; VALUE opt; + struct stat st; rb_secure(4); @@ -5936,6 +5937,7 @@ rb_io_extract_modeenc(&vmode, 0, opt, &oflags, &fmode, &convconfig); fd = NUM2INT(fnum); + if (fstat(fd, &st) == -1) rb_sys_fail(0); UPDATE_MAXFD(fd); if (NIL_P(vmode)) { #if defined(HAVE_FCNTL) && defined(F_GETFL) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/