int FUN_00409858(void)
{
bool bVar1;
int iVar2;
int *piVar3;
undefined4 *puVar4;
undefined4 uVar5;
undefined4 *puVar6;
int iVar7;
int iVar8;
undefined4 auStack_a0 [34];
puVar6 = bridge_list;
while (puVar6 != (undefined4 *)0x0) {
puVar4 = (undefined4 *)*puVar6;
FUN_00409200(puVar6);
puVar6 = puVar4;
}
puVar6 = auStack_a0;
iVar2 = br_ioctl(1,puVar6,0x20);
if (iVar2 < 0) {
piVar3 = __errno_location();
iVar7 = *piVar3;
}
else {
bridge_list = (undefined4 *)0x0;
iVar8 = 0;
do {
bVar1 = iVar2 <= iVar8;
iVar8 = iVar8 + 1;
if (bVar1) {
return 0;
}
puVar4 = (undefined4 *)malloc(0x49c) //possible issue identified - semgrep
memset(puVar4,0,0x49c) //possible issue identified - semgrep
uVar5 = *puVar6;
*puVar4 = bridge_list;
puVar4[1] = uVar5;
puVar4[6] = 0;
bridge_list = puVar4;
iVar7 = FUN_004094e4(puVar4);
puVar6 = puVar6 + 1;
} while ((iVar7 == 0) && (iVar7 = FUN_00409398(puVar4), iVar7 == 0));
while (bridge_list != (undefined4 *)0x0) {
puVar6 = (undefined4 *)*bridge_list;
FUN_00409200(bridge_list);
bridge_list = puVar6;
}
}
return iVar7;
}