aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/filedesc.h
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2016-09-04 13:31:57 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2016-09-04 13:31:57 +0000
commit1c1c35c74e393274bde4dc5ab3127674fdb2b9b9 (patch)
tree2e9646ddbfdb0bd258fb077bc4fd6f93c5a0bf3f /sys/sys/filedesc.h
parent83e449a402c9fc0eee9c52409b9e44c048ae1347 (diff)
downloadsrc-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.h7
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