diff options
author | mjg <mjg@FreeBSD.org> | 2017-03-24 08:06:00 +0000 |
---|---|---|
committer | mjg <mjg@FreeBSD.org> | 2017-03-24 08:06:00 +0000 |
commit | 4df1b0ecbe8b97b7b2a33fe8acc3e1936f273f92 (patch) | |
tree | c6f1ae23e5ed5e32a27984d78f05710a51b8279a /sys | |
parent | 5b71b79a133d66b5b2098a053a3cb4dca00283b3 (diff) | |
download | FreeBSD-src-4df1b0ecbe8b97b7b2a33fe8acc3e1936f273f92.zip FreeBSD-src-4df1b0ecbe8b97b7b2a33fe8acc3e1936f273f92.tar.gz |
MFC r305383:
fd: fix up fdeget_file
It was supposed to return NULL if a fp is not installed.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/sys/filedesc.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h index dfd81a4..e684f74 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -215,13 +215,18 @@ fget_locked(struct filedesc *fdp, int fd) static __inline struct filedescent * fdeget_locked(struct filedesc *fdp, int fd) { + struct filedescent *fde; FILEDESC_LOCK_ASSERT(fdp); if ((u_int)fd > fdp->fd_lastfile) return (NULL); - return (&fdp->fd_ofiles[fd]); + fde = &fdp->fd_ofiles[fd]; + if (fde->fde_file == NULL) + return (NULL); + + return (fde); } static __inline bool |