Skip to content

Commit 0b015da

Browse files
authored
netctl: Add null check for gethostbyname output. (#1468)
1 parent 9ec75c3 commit 0b015da

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/core/libraries/network/netctl.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -170,14 +170,15 @@ int PS4_SYSV_ABI sceNetCtlGetInfo(int code, OrbisNetCtlInfo* info) {
170170
"127.0.0.1"); // placeholder in case gethostbyname can't find another ip
171171
char devname[80];
172172
gethostname(devname, 80);
173-
struct hostent* resolved = gethostbyname(devname);
174-
for (int i = 0; resolved->h_addr_list[i] != nullptr; ++i) {
175-
struct in_addr addrIn;
176-
memcpy(&addrIn, resolved->h_addr_list[i], sizeof(u32));
177-
char* addr = inet_ntoa(addrIn);
178-
if (strcmp(addr, "127.0.0.1") != 0) {
179-
strcpy(info->ip_address, addr);
180-
break;
173+
if (struct hostent* resolved = gethostbyname(devname)) {
174+
for (int i = 0; resolved->h_addr_list[i] != nullptr; ++i) {
175+
struct in_addr addrIn;
176+
memcpy(&addrIn, resolved->h_addr_list[i], sizeof(u32));
177+
char* addr = inet_ntoa(addrIn);
178+
if (strcmp(addr, "127.0.0.1") != 0) {
179+
strcpy(info->ip_address, addr);
180+
break;
181+
}
181182
}
182183
}
183184
break;

0 commit comments

Comments
 (0)