mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
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:
parent
ee233ab975
commit
040fb18b60
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=328480
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue