undefined4 FUN_004042a8(char *param_1,undefined2 *param_2)
{
int iVar1;
netent *pnVar2;
uint uVar3;
hostent *phVar4;
int *piVar5;
int *piVar6;
char *__src;
*param_2 = 2;
param_2[1] = 0;
iVar1 = strcmp(param_1,"default");
if (iVar1 == 0) {
*(undefined4 *)(param_2 + 2) = 0;
}
else {
pnVar2 = getnetbyname(param_1);
if (pnVar2 == (netent *)0x0) {
phVar4 = gethostbyname(param_1);
if (phVar4 == (hostent *)0x0) {
piVar5 = __errno_location();
piVar6 = __h_errno_location();
*piVar5 = *piVar6;
return 0xffffffff;
}
memcpy(param_2 + 2,*phVar4->h_addr_list,phVar4->h_length) //possible issue identified - semgrep
strcpy(param_1,phVar4->h_name) //possible issue identified - semgrep
return 0;
}
uVar3 = pnVar2->n_net;
__src = pnVar2->n_name;
*(uint *)(param_2 + 2) =
uVar3 << 0x18 | uVar3 >> 0x18 | uVar3 >> 8 & 0xff00 | (uVar3 & 0xff00) << 8;
strcpy(param_1,__src) //possible issue identified - semgrep
}
return 1;
}