undefined4 ip6tc_append_entry(undefined4 param_1,void *param_2,int param_3)
{
int iVar1;
int *piVar2;
int iVar3;
undefined4 *puVar4;
iptc_fn = ip6tc_append_entry;
iVar1 = (*(code *)0x2144)(param_1,param_3);
if (iVar1 == 0) {
piVar2 = __errno_location();
iVar1 = 2;
}
else {
piVar2 = (int *)(*(code *)0x142c)(iVar1,*(undefined2 *)((int)param_2 + 0x8e));
if (piVar2 != (int *)0x0) {
memcpy(piVar2 + 10,param_2,(size_t)*(undefined2 *)((int)param_2 + 0x8e)) //possible issue identified - semgrep
piVar2[3] = 3;
iVar3 = (*(code *)0x32ec)(param_3,piVar2);
if (iVar3 == 0) {
free(piVar2);
return 0;
}
puVar4 = *(undefined4 **)(iVar1 + 0x58);
*(int *)(iVar1 + 0x50) = *(int *)(iVar1 + 0x50) + 1;
*piVar2 = iVar1 + 0x54;
*(int **)(iVar1 + 0x58) = piVar2;
*(undefined4 *)(param_3 + 4) = 1;
*puVar4 = piVar2;
piVar2[1] = (int)puVar4;
return 1;
}
piVar2 = __errno_location();
iVar1 = 0xc;
}
*piVar2 = iVar1;
return 0;
}