DragonFlyBSD Kernel Audit
DF-1048 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/bus/u4b/serial/umcs.c b/sys/bus/u4b/serial/umcs.c
--- a/sys/bus/u4b/serial/umcs.c
+++ b/sys/bus/u4b/serial/umcs.c
@@ -1058,7 +1058,8 @@
 {
 	uint8_t i = 0;
 
-	if (rate > umcs7840_baudrate_divisors[umcs7840_baudrate_divisors_len - 1])
+	if (rate == 0 ||
+	    rate > umcs7840_baudrate_divisors[umcs7840_baudrate_divisors_len - 1])
 		return (-1);
 
 	for (i = 0; i < umcs7840_baudrate_divisors_len - 1 &&