summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2001-08-23 16:06:14 +0000
committerache <ache@FreeBSD.org>2001-08-23 16:06:14 +0000
commitf8ef40b0cb362d207aa99426ef00cfd469ed0084 (patch)
treebb355df38787b3713fc4dc189b0ee77e52c65284 /sys/fs
parent82c8a757faf9c36623540e26c6376417a3a8514a (diff)
downloadFreeBSD-src-f8ef40b0cb362d207aa99426ef00cfd469ed0084.zip
FreeBSD-src-f8ef40b0cb362d207aa99426ef00cfd469ed0084.tar.gz
Copy my newly introduced l_len<0 'oops' fix from kern_lockf.c
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/smbfs/smbfs_vnops.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c
index bc2a5c3..286832f 100644
--- a/sys/fs/smbfs/smbfs_vnops.c
+++ b/sys/fs/smbfs/smbfs_vnops.c
@@ -1008,10 +1008,12 @@ smbfs_advlock(ap)
if (start < 0)
return EINVAL;
if (fl->l_len < 0) {
- start += fl->l_len;
- if (start <= 0)
+ if (start == 0)
return EINVAL;
end = start - 1;
+ start += fl->l_len;
+ if (start < 0)
+ return EINVAL;
} else if (fl->l_len == 0)
end = -1;
else {
OpenPOWER on IntegriCloud