diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2016-09-04 13:31:57 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2016-09-04 13:31:57 +0000 |
commit | 1c1c35c74e393274bde4dc5ab3127674fdb2b9b9 (patch) | |
tree | 2e9646ddbfdb0bd258fb077bc4fd6f93c5a0bf3f /sys/sys/filedesc.h | |
parent | 83e449a402c9fc0eee9c52409b9e44c048ae1347 (diff) | |
download | src-1c1c35c74e393274bde4dc5ab3127674fdb2b9b9.tar.gz src-1c1c35c74e393274bde4dc5ab3127674fdb2b9b9.zip |
fd: fix up fdeget_file
It was supposed to return NULL if a fp is not installed.
Facepalm-by: mjg
Notes
Notes:
svn path=/head/; revision=305383
Diffstat (limited to 'sys/sys/filedesc.h')
-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 869a6c681cfd..0927950d4ceb 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -210,13 +210,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 (fd < 0 || 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 |