svr4_ioctl.c (89306) | svr4_ioctl.c (89319) |
---|---|
1/* 2 * Copyright (c) 1998 Mark Newton 3 * Copyright (c) 1994 Christos Zoulas 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * | 1/* 2 * Copyright (c) 1998 Mark Newton 3 * Copyright (c) 1994 Christos Zoulas 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/compat/svr4/svr4_ioctl.c 89306 2002-01-13 11:58:06Z alfred $ | 28 * $FreeBSD: head/sys/compat/svr4/svr4_ioctl.c 89319 2002-01-14 00:13:45Z alfred $ |
29 */ 30 31#include <sys/param.h> 32#include <sys/proc.h> 33#include <sys/file.h> 34#include <sys/filedesc.h> 35#include <sys/fcntl.h> 36#include <sys/socket.h> --- 60 unchanged lines hidden (view full) --- 97 svr4_decode_cmd(SCARG(uap, com), dir, &c, &num, &argsiz); 98 99 DPRINTF(("svr4_ioctl[%lx](%d, _IO%s(%c, %d, %d), %p);\n", SCARG(uap, com), SCARG(uap, fd), 100 dir, c, num, argsiz, SCARG(uap, data))); 101#endif 102 retval = td->td_retval; 103 cmd = SCARG(uap, com); 104 | 29 */ 30 31#include <sys/param.h> 32#include <sys/proc.h> 33#include <sys/file.h> 34#include <sys/filedesc.h> 35#include <sys/fcntl.h> 36#include <sys/socket.h> --- 60 unchanged lines hidden (view full) --- 97 svr4_decode_cmd(SCARG(uap, com), dir, &c, &num, &argsiz); 98 99 DPRINTF(("svr4_ioctl[%lx](%d, _IO%s(%c, %d, %d), %p);\n", SCARG(uap, com), SCARG(uap, fd), 100 dir, c, num, argsiz, SCARG(uap, data))); 101#endif 102 retval = td->td_retval; 103 cmd = SCARG(uap, com); 104 |
105 fp = ffind_hold(td, uap->fd); 106 if (fp == NULL) 107 return EBADF; | 105 if ((error = fget(td, uap->fd, &fp)) != 0) 106 return (error); |
108 109 if ((fp->f_flag & (FREAD | FWRITE)) == 0) { 110 fdrop(fp, td); 111 return EBADF; 112 } 113 114#if defined(DEBUG_SVR4) 115 if (fp->f_type == DTYPE_SOCKET) { --- 53 unchanged lines hidden --- | 107 108 if ((fp->f_flag & (FREAD | FWRITE)) == 0) { 109 fdrop(fp, td); 110 return EBADF; 111 } 112 113#if defined(DEBUG_SVR4) 114 if (fp->f_type == DTYPE_SOCKET) { --- 53 unchanged lines hidden --- |