summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_descrip.c7
-rw-r--r--sys/kern/kern_lockf.c4
2 files changed, 5 insertions, 6 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
index f1f6284..d040690 100644
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -307,10 +307,9 @@ fcntl(p, uap)
return (error);
}
if (fl.l_whence == SEEK_CUR) {
- if ((fl.l_start > 0 &&
- fp->f_offset > OFF_MAX - fl.l_start) ||
- (fl.l_start < 0 &&
- fp->f_offset < OFF_MIN - fl.l_start)) {
+ if (fp->f_offset < 0 ||
+ (fl.l_start > 0 &&
+ fp->f_offset > OFF_MAX - fl.l_start)) {
fdrop(fp, p);
return (EOVERFLOW);
}
diff --git a/sys/kern/kern_lockf.c b/sys/kern/kern_lockf.c
index 47f470c..c60705f 100644
--- a/sys/kern/kern_lockf.c
+++ b/sys/kern/kern_lockf.c
@@ -121,8 +121,8 @@ lf_advlock(ap, head, size)
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))
+ if (size > OFF_MAX ||
+ (fl->l_start > 0 && size > OFF_MAX - fl->l_start))
return (EOVERFLOW);
start = size + fl->l_start;
break;
OpenPOWER on IntegriCloud