diff --git a/src/iface.c b/src/iface.c index e8bdd5d..1728155 100644 --- a/src/iface.c +++ b/src/iface.c @@ -6,10 +6,15 @@ #include int -iface_set_mtu(const char *dev_name, int mtu) +iface_set_mtu(const char *dev_name, size_t mtu) { + if (mtu > (size_t)0xFFFF) { + errno = EINVAL; + return -1; + } + struct ifreq ifr = { - .ifr_mtu = mtu, + .ifr_mtu = (int)mtu, }; const size_t len = sizeof(ifr.ifr_name) - 1; diff --git a/src/iface.h b/src/iface.h index 5c8c354..6066d24 100644 --- a/src/iface.h +++ b/src/iface.h @@ -1,3 +1,3 @@ #pragma once -int iface_set_mtu (const char *, int); +int iface_set_mtu (const char *, size_t);