Bug 1271131 - check inet_ntoa return code before use, r=mcmanus

This commit is contained in:
Daniel Stenberg 2016-05-08 14:25:00 +02:00
Родитель fa238a23db
Коммит 4e7bbc4cb6
1 изменённых файлов: 7 добавлений и 6 удалений

Просмотреть файл

@ -245,15 +245,16 @@ static bool defaultgw(char *gateway) // at least 128 bytes buffer
struct in_addr IpAddr; struct in_addr IpAddr;
IpAddr.S_un.S_addr = static_cast<u_long> IpAddr.S_un.S_addr = static_cast<u_long>
(pIpForwardTable->table[i].dwForwardDest); (pIpForwardTable->table[i].dwForwardDest);
char szDestIp[128]; char *ipStr = inet_ntoa(IpAddr);
strcpy_s(szDestIp, sizeof (szDestIp), inet_ntoa(IpAddr)); if (ipStr && !strcmp("0.0.0.0", ipStr)) {
if (!strcmp("0.0.0.0", szDestIp)) {
// Default gateway! // Default gateway!
IpAddr.S_un.S_addr = static_cast<u_long> IpAddr.S_un.S_addr = static_cast<u_long>
(pIpForwardTable->table[i].dwForwardNextHop); (pIpForwardTable->table[i].dwForwardNextHop);
strcpy_s(gateway, 128, inet_ntoa(IpAddr)); ipStr = inet_ntoa(IpAddr);
return true; if (ipStr) {
strcpy_s(gateway, 128, ipStr);
return true;
}
} }
} // for loop } // for loop
} }