diff options
| author | Boris Popov <bp@FreeBSD.org> | 1999-12-28 15:34:23 +0000 |
|---|---|---|
| committer | Boris Popov <bp@FreeBSD.org> | 1999-12-28 15:34:23 +0000 |
| commit | dc22f85f340a807c7e5b9210a5e9c3038fc6a993 (patch) | |
| tree | fbe19476c4ccbc78ee05d2b8662a729b6f3dda1b | |
| parent | 499d3ffa94226be40cd1464ed960943db0dae0db (diff) | |
Notes
| -rw-r--r-- | sys/fs/msdosfs/msdosfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/msdosfs/msdosfs_vnops.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 3ef8e74fb44ee..3ad5135481d02 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -545,7 +545,7 @@ msdosfs_read(ap) } */ *ap; { int error = 0; - int diff; + off_t diff; int blsize; int isadir; int orig_resid; @@ -575,12 +575,12 @@ msdosfs_read(ap) isadir = dep->de_Attributes & ATTR_DIRECTORY; do { + if (uio->uio_offset >= dep->de_FileSize) + break; lbn = de_cluster(pmp, uio->uio_offset); on = uio->uio_offset & pmp->pm_crbomask; n = min((u_long) (pmp->pm_bpcluster - on), uio->uio_resid); diff = dep->de_FileSize - uio->uio_offset; - if (diff <= 0) - break; if (diff < n) n = diff; /* convert cluster # to block # if a directory */ diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index 3ef8e74fb44ee..3ad5135481d02 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -545,7 +545,7 @@ msdosfs_read(ap) } */ *ap; { int error = 0; - int diff; + off_t diff; int blsize; int isadir; int orig_resid; @@ -575,12 +575,12 @@ msdosfs_read(ap) isadir = dep->de_Attributes & ATTR_DIRECTORY; do { + if (uio->uio_offset >= dep->de_FileSize) + break; lbn = de_cluster(pmp, uio->uio_offset); on = uio->uio_offset & pmp->pm_crbomask; n = min((u_long) (pmp->pm_bpcluster - on), uio->uio_resid); diff = dep->de_FileSize - uio->uio_offset; - if (diff <= 0) - break; if (diff < n) n = diff; /* convert cluster # to block # if a directory */ |
