undefined4 FUN_004050a4(int param_1)
{
ushort uVar1;
undefined1 uVar2;
char *pcVar3;
undefined4 uVar4;
undefined4 *puVar5;
undefined4 *puVar6;
undefined1 auStack_90 [32];
char acStack_70 [32];
char acStack_50 [32];
char *local_30;
pcVar3 = inet_ntoa((in_addr)*(in_addr_t *)(param_1 + 8));
strcpy(acStack_50,pcVar3) //possible issue identified - semgrep
puVar6 = (undefined4 *)0x0;
local_30 = acStack_50;
while( true ) {
if (puVar6 == (undefined4 *)0x0) {
puVar6 = *(undefined4 **)(param_1 + 0xc);
}
else {
puVar6 = (undefined4 *)*puVar6;
}
if ((puVar6 == (undefined4 *)(param_1 + 0xc)) || (puVar6 == (undefined4 *)0x0)) break;
memset(auStack_90,0,0x20) //possible issue identified - semgrep
puVar5 = (undefined4 *)0x0;
while( true ) {
if (puVar5 == (undefined4 *)0x0) {
puVar5 = *(undefined4 **)(param_1 + 0x14);
}
else {
puVar5 = (undefined4 *)*puVar5;
}
if ((puVar5 == (undefined4 *)(param_1 + 0x14)) || (puVar5 == (undefined4 *)0x0)) break;
uVar1 = *(ushort *)(puVar5 + 5);
uVar2 = vifs_get_threshold((uint)uVar1);
auStack_90[uVar1] = uVar2;
}
pcVar3 = inet_ntoa((in_addr)puVar6[2]);
strcpy(acStack_70,pcVar3) //possible issue identified - semgrep
uVar4 = vifs_get_name(*(undefined2 *)(puVar6 + 3));
verbose("%s: activate route %s -> %s from %s [%d]\n","update_origin",acStack_70,local_30,uVar4,
*(undefined2 *)(puVar6 + 3));
mrtapi_add_mfc(puVar6[2],*(undefined4 *)(param_1 + 8),*(undefined2 *)(puVar6 + 3),auStack_90);
}
return 0;
}