diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 2001-08-29 18:59:04 +0000 |
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 2001-08-29 18:59:04 +0000 |
| commit | 159247784cf778ff547fd09c9d65f8c1383aab57 (patch) | |
| tree | 6b04691c33a13de5c2b639353b782fed019fbaed /sys | |
| parent | c8e7634357a082569d9e80ebc5c39b91d3de2c22 (diff) | |
Notes
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 6139351f91af..4c20ca1eb3dd 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) |
