fix: interfaceAddress buffer overflow on long interface names

This commit is contained in:
2026-08-05 23:26:01 +03:00
parent 079323130c
commit 049a46e515
+1 -1
View File
@@ -1303,7 +1303,7 @@ PINetworkAddress PIEthernet::interfaceAddress(const PIString & interface_) {
#else #else
struct ifreq ifr; struct ifreq ifr;
piZeroMemory(ifr); piZeroMemory(ifr);
strcpy(ifr.ifr_name, interface_.dataAscii()); strncpy(ifr.ifr_name, interface_.dataAscii(), sizeof(ifr.ifr_name));
int s = ::socket(AF_INET, SOCK_DGRAM, 0); int s = ::socket(AF_INET, SOCK_DGRAM, 0);
if (s != -1) { if (s != -1) {
ioctl(s, SIOCGIFADDR, &ifr); ioctl(s, SIOCGIFADDR, &ifr);