[PATCH] please review. file descriptor passing for libc_r.

Alfred Perlstein bright at mu.org
Sat Nov 29 15:48:35 PST 2003


* Daniel Eischen <eischen at vigrid.com> [031129 14:57] wrote:
> > 
> > What do you suggest we do?
> 
> Just close the file:
> 
> 	if ((fd < 0) || (fd >= _thread_dtablesize) ||
> 	    (fd == _thread_kern_pipe[0]) || (fd == _thread_kern_pipe[1])) {
> 		/*
> 		 * Don't allow silly programs to close the kernel pipe
> 		 * and non-active descriptors.
> 		 */
> 		errno = EBADF;
> 		ret = -1;
> 	}
> 	else if (_thread_fd_table[fd] == NULL)
> 		ret = __sys_close(fd);
> 	else {
> 		...
> 	}

So remove the check?  do you approve? does re@ approve?

Index: uthread_close.c
===================================================================
RCS file: /home/ncvs/src/lib/libc_r/uthread/uthread_close.c,v
retrieving revision 1.16
diff -u -r1.16 uthread_close.c
--- uthread_close.c	9 Jun 2003 16:45:37 -0000	1.16
+++ uthread_close.c	29 Nov 2003 23:48:14 -0000
@@ -50,8 +50,7 @@
 	struct fd_table_entry	*entry;
 
 	if ((fd < 0) || (fd >= _thread_dtablesize) ||
-	    (fd == _thread_kern_pipe[0]) || (fd == _thread_kern_pipe[1]) ||
-	    (_thread_fd_table[fd] == NULL)) {
+	    (fd == _thread_kern_pipe[0]) || (fd == _thread_kern_pipe[1]))
 		/*
 		 * Don't allow silly programs to close the kernel pipe
 		 * and non-active descriptors.

--
- Alfred Perlstein
- Research Engineering Development Inc.
- email: bright at mu.org cell: 408-480-4684


More information about the freebsd-current mailing list