From adf3e081dc1f4765226294de1b614e3f0ddbb5e5 Mon Sep 17 00:00:00 2001 From: ache <ache@FreeBSD.org> Date: Wed, 29 Aug 2001 18:59:04 +0000 Subject: [PATCH] smbfs_advlock: simplify overflow checks (copy from kern_lockf.c) minor formatting issues to minimize differences --- sys/fs/smbfs/smbfs_vnops.c | 17 ++++++++++------- 1 file 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)