Revert r328479:

{ext2|ufs}_readdir: Set limit on valid ncookies values.

We aren't allowed to set resid like this.

Pointed out by:	kib, imp
This commit is contained in:
Pedro F. Giffuni 2018-01-27 16:34:00 +00:00
parent ee233ab975
commit 040fb18b60
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=328480
2 changed files with 2 additions and 10 deletions

View file

@ -145,18 +145,14 @@ ext2_readdir(struct vop_readdir_args *ap)
off_t offset, startoffset;
size_t readcnt, skipcnt;
ssize_t startresid;
int ncookies;
u_int ncookies;
int DIRBLKSIZ = VTOI(ap->a_vp)->i_e2fs->e2fs_bsize;
int error;
if (uio->uio_offset < 0)
return (EINVAL);
ip = VTOI(vp);
if (uio->uio_resid < 0)
uio->uio_resid = 0;
if (ap->a_ncookies != NULL) {
if (uio->uio_resid > MAXPHYS)
uio->uio_resid = MAXPHYS;
ncookies = uio->uio_resid;
if (uio->uio_offset >= ip->i_size)
ncookies = 0;

View file

@ -2170,7 +2170,7 @@ ufs_readdir(ap)
off_t offset, startoffset;
size_t readcnt, skipcnt;
ssize_t startresid;
int ncookies;
u_int ncookies;
int error;
if (uio->uio_offset < 0)
@ -2178,11 +2178,7 @@ ufs_readdir(ap)
ip = VTOI(vp);
if (ip->i_effnlink == 0)
return (0);
if (uio->uio_resid < 0)
uio->uio_resid = 0;
if (ap->a_ncookies != NULL) {
if (uio->uio_resid > MAXPHYS)
uio->uio_resid = MAXPHYS;
ncookies = uio->uio_resid;
if (uio->uio_offset >= ip->i_size)
ncookies = 0;