diff --git a/net/net.c b/net/net.c index f1ab667..3578118 100644 --- a/net/net.c +++ b/net/net.c @@ -113,8 +113,10 @@ return -EINVAL; val = simple_strtoul(s, &e, 10); - addr <<= 8; - addr |= (val & 0xFF); + if (val > 255) + return -EINVAL; + + addr = (addr << 8) | val; if (*e != '.' && i != 3) return -EINVAL;