diff options
author | Bryan Cantrill <bryan@joyent.com> | 2015-05-09 06:47:06 +0000 |
---|---|---|
committer | Bryan Cantrill <bryan@joyent.com> | 2015-05-09 06:47:06 +0000 |
commit | 43fc3fb118ac89d5b9109e595b1c93eea92dca8b (patch) | |
tree | de2fe02df48d30c5fe12b359700be56d53d65f19 /usr/src/uts/common/fs/lxproc/lxpr_vnops.c | |
parent | fcb6bbd78695ab94e66309e039775b168265c10c (diff) | |
download | illumos-joyent-43fc3fb118ac89d5b9109e595b1c93eea92dca8b.tar.gz |
OS-4269 lx brand: readdir() neglects to return EOF in some cases
Diffstat (limited to 'usr/src/uts/common/fs/lxproc/lxpr_vnops.c')
-rw-r--r-- | usr/src/uts/common/fs/lxproc/lxpr_vnops.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/lxproc/lxpr_vnops.c b/usr/src/uts/common/fs/lxproc/lxpr_vnops.c index b5f31ad0cf..7e11b5ce76 100644 --- a/usr/src/uts/common/fs/lxproc/lxpr_vnops.c +++ b/usr/src/uts/common/fs/lxproc/lxpr_vnops.c @@ -2639,13 +2639,13 @@ lxpr_readdir_common(lxpr_node_t *lxpnp, uio_t *uiop, int *eofp, dirent->d_name[2] = '\0'; reclen = DIRENT64_RECLEN(2); - } else if (dirindex < dirtablen) { + } else if (dirindex >= 0 && dirindex < dirtablen) { int slen = strlen(dirtab[dirindex].d_name); dirent->d_ino = lxpr_inode(dirtab[dirindex].d_type, lxpnp->lxpr_pid, 0); - ASSERT(slen < LXPNSIZ); + VERIFY(slen < LXPNSIZ); (void) strcpy(dirent->d_name, dirtab[dirindex].d_name); reclen = DIRENT64_RECLEN(slen); |