DragonFlyBSD Kernel Audit
DF-0121 / fix.diff
← back to finding ↓ download raw
diff --git a/kern/kern_environment.c b/kern/kern_environment.c
--- a/kern/kern_environment.c
+++ b/kern/kern_environment.c
@@ -139,7 +139,7 @@
 			goto done;
 		}
 		len = strlen(value) + 1;
-		if (len > uap->len)
+		if (uap->len > 0 && len > (size_t)uap->len)
 			len = uap->len;
 		error = copyout(value, uap->value, len);
 		kfreeenv(value);