diff --git a/sys/dev/netif/ig_hal/e1000_manage.c b/sys/dev/netif/ig_hal/e1000_manage.c --- a/sys/dev/netif/ig_hal/e1000_manage.c +++ b/sys/dev/netif/ig_hal/e1000_manage.c @@ -248,6 +248,8 @@ *sum += *(tmp + j); } E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, offset, data); + if (length < (j - prev_bytes)) + return -E1000_ERR_PARAM; length -= j - prev_bytes; offset++; }