[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]