diff --git a/libs/main/io_devices/piethernet.cpp b/libs/main/io_devices/piethernet.cpp index 69cc2f30..89634d5f 100644 --- a/libs/main/io_devices/piethernet.cpp +++ b/libs/main/io_devices/piethernet.cpp @@ -1243,9 +1243,12 @@ PIEthernet::InterfaceList PIEthernet::interfaces() { # else if (s != -1) { struct ifreq ir; - strcpy(ir.ifr_name, cif->ifa_name); + memset(&ir, 0, sizeof(ir)); + strncpy(ir.ifr_name, cif->ifa_name, sizeof(ir.ifr_name)); if (ioctl(s, SIOCGIFHWADDR, &ir) == 0) { ci.mac = macFromBytes(PIByteArray(ir.ifr_hwaddr.sa_data, 6)); + } + if (ioctl(s, SIOCGIFMTU, &ir) == 0) { ci.mtu = ir.ifr_mtu; } }