/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void xtables_parse_interface(char *param_1,char *param_2,void *param_3)
{
char cVar1;
size_t sVar2;
char *pcVar3;
size_t __n;
uint __n_00;
sVar2 = strlen(param_1);
memset(param_3,0,0x10) //possible issue identified - semgrep
__n_00 = sVar2 + 1;
memset(param_2,0,0x10) //possible issue identified - semgrep
pcVar3 = param_1;
if (0x10 < __n_00) {
pcVar3 = (char *)0x5748;
(**(code **)(xt_params + 0x14))(2,0x5748,param_1,0xf);
}
strcpy(param_2,pcVar3) //possible issue identified - semgrep
__n = sVar2 - 1 //possible issue identified - semgrep
if (sVar2 == 0) {
sVar2 = 0x10 //possible issue identified - semgrep
}
else {
if (param_2[__n] != '+') {
memset(param_3,0xff,__n_00);
memset((void *)((int)param_3 + __n_00),0,0xf - sVar2);
pcVar3 = param_2;
do {
cVar1 = *pcVar3;
if (cVar1 == '\0') {
return;
}
} while ((cVar1 != '/') && (pcVar3 = pcVar3 + 1, cVar1 != ' '));
/* WARNING: Could not recover jumptable at 0x00012218. Too many branches */
/* WARNING: Treating indirect jump as call */
fprintf(_stderr,(char *)0x5780,param_2) //possible issue identified - semgrep
return;
}
memset(param_3,0xff,__n);
param_3 = (void *)((int)param_3 + __n);
sVar2 = 0x11 - sVar2 //possible issue identified - semgrep
}
/* WARNING: Could not recover jumptable at 0x00012190. Too many branches */
/* WARNING: Treating indirect jump as call */
memset(param_3,0,sVar2);
return;
}