fix: interfaceAddress buffer overflow on long interface names

This commit is contained in:
2026-08-06 17:01:30 +03:00
committed by andrey
parent 27ed1bc9a7
commit 736acbd419
+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);