DragonFlyBSD Kernel Audit
DF-0069 / fix.diff
← back to finding ↓ download raw
--- a/kern/kern_lockf.c
+++ b/kern/kern_lockf.c
@@ -230,9 +230,9 @@
 	} else if (fl->l_len < 0) {
 		return(EINVAL);
 	} else {
-		end = start + fl->l_len - 1;
-		if (end < start)
+		if (fl->l_len > LLONG_MAX - start)
 			return(EINVAL);
+		end = start + fl->l_len - 1;
 	}
 	
 	type = fl->l_type;