/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 xtables_insmod(undefined4 param_1,char *param_2,uint param_3)
{
__pid_t _Var1;
uint local_28;
char *local_24;
undefined4 local_20;
undefined4 local_1c;
undefined4 local_18;
uint local_10;
local_10 = param_3 & 0xff;
if (param_2 != (char *)0x0) {
fflush(_stdout);
_Var1 = vfork() //possible issue identified - semgrep
if (_Var1 != -1) {
if (_Var1 == 0) {
if (local_10 == 0) {
local_1c = 0;
}
else {
local_1c = 0x5884;
}
local_18 = 0;
local_24 = param_2;
local_20 = param_1;
execv(param_2,&local_24) //possible issue identified - semgrep
/* WARNING: Subroutine does not return */
exit(1);
}
wait(&local_28);
free((void *)0x0);
if (((local_28 & 0x7f) == 0) && ((local_28 & 0xff00) == 0)) {
return 0 //possible issue identified - semgrep
}
}
}
return 0xffffffff;
}