DF-1691 / fix.diff
--- a/sys/dev/powermng/viapm/viapm.c +++ b/sys/dev/powermng/viapm/viapm.c @@ -852,6 +852,9 @@ len = VIAPM_INB(SMBHDATA0); i = VIAPM_INB(SMBHCTRL); /* reset counter */ + if (len > 32) + len = 32; + /* read the 32-byte internal buffer */ for (i = 0; i < len; i++) { data = VIAPM_INB(SMBHBLOCK); |