diff options
author | ache <ache@FreeBSD.org> | 2001-08-29 18:59:04 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2001-08-29 18:59:04 +0000 |
commit | adf3e081dc1f4765226294de1b614e3f0ddbb5e5 (patch) | |
tree | 6b04691c33a13de5c2b639353b782fed019fbaed /sys | |
parent | e4aa34eee032faef51918fdfa9d9f0758d999654 (diff) | |
download | FreeBSD-src-adf3e081dc1f4765226294de1b614e3f0ddbb5e5.zip FreeBSD-src-adf3e081dc1f4765226294de1b614e3f0ddbb5e5.tar.gz |
smbfs_advlock: simplify overflow checks (copy from kern_lockf.c)
minor formatting issues to minimize differences
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/smbfs/smbfs_vnops.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index 6139351..4c20ca1e 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -992,17 +992,20 @@ smbfs_advlock(ap) } size = np->n_size; switch (fl->l_whence) { - case SEEK_SET: - case SEEK_CUR: + + case SEEK_SET: + case SEEK_CUR: start = fl->l_start; break; - case SEEK_END: - if ((fl->l_start > 0 && size > OFF_MAX - fl->l_start) || - (fl->l_start < 0 && size + fl->l_start > OFF_MAX)) + + case SEEK_END: + if (size > OFF_MAX || + (fl->l_start > 0 && size > OFF_MAX - fl->l_start)) return EOVERFLOW; - start = fl->l_start + size; + start = size + fl->l_start; break; - default: + + default: return EINVAL; } if (start < 0) |