--- a/sys/bus/u4b/serial/umcs.c
+++ b/sys/bus/u4b/serial/umcs.c
@@ -1058,6 +1058,9 @@
{
uint8_t i = 0;
+ if (rate == 0) /* no div-by-zero, no divisors[9] OOB read */
+ return (-1);
+
if (rate > umcs7840_baudrate_divisors[umcs7840_baudrate_divisors_len - 1])
return (-1);