undefined4 Set_ACLDelEntry_Proc(int *param_1,char *param_2)
{
undefined1 uVar1;
bool bVar2;
size_t sVar3;
byte *__s;
int iVar4;
char *pcVar5;
int iVar6;
int iVar7;
undefined1 *puVar8;
uint uVar9;
uint uVar10;
int iVar11;
int iVar12;
char *local_res4 [3];
undefined1 local_240 [4];
undefined1 local_23c;
undefined1 local_23b;
undefined1 auStack_238 [8];
int local_230 [130];
iVar12 = *param_1;
local_res4[0] = param_2;
memset(local_230,0,0x208) //possible issue identified - semgrep
memmove(local_230,param_1 + *(int *)(iVar12 + 0xfc) * 0x450 + 0x164a,0x208) //possible issue identified - semgrep
memset(auStack_238,0,6) //possible issue identified - semgrep
LAB_0008add8:
do {
pcVar5 = strsep(local_res4,";");
if (pcVar5 == (char *)0x0) {
memset(param_1 + *(int *)(iVar12 + 0xfc) * 0x450 + 0x164a,0,0x208) //possible issue identified - semgrep
param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164a] = local_230[0];
if (param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164b] != 0) {
printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/ap/ap_cfg.c:%d assert pAd->ApCfg.MBSSID[pObj->ioctl_if].AccessControlList.Num == 0failed\n"
,0x15df);
}
iVar11 = 0;
uVar9 = 0;
do {
iVar7 = uVar9 + 1;
uVar10 = uVar9;
do {
iVar4 = iVar7 * 2;
uVar9 = uVar10 + 1;
if ((uint)local_230[1] <= uVar10) {
param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164b] = iVar11;
if ((uint)local_230[1] < (uint)param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164b]) {
printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/ap/ap_cfg.c:%d assert acl.Num >= pAd->ApCfg.MBSSID[pObj->ioctl_if].AccessControlList.Numfailed\n"
,0x15ef);
uVar1 = *(undefined1 *)(iVar12 + 0xfc);
}
else {
uVar1 = *(undefined1 *)(iVar12 + 0xfc);
}
ApUpdateAccessControlList(param_1,uVar1);
if (2 < RTDebugLevel) {
printk("Set::%s(Policy=%ld, Entry#=%ld)\n","Set_ACLDelEntry_Proc",
param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164a],
param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164b]);
}
if (2 < RTDebugLevel) {
printk("=============== Entry ===============\n");
}
uVar9 = 0;
while (uVar9 < (uint)param_1[*(int *)(iVar12 + 0xfc) * 0x450 + 0x164b]) {
printk("Entry #%02d: ",uVar9 + 1);
printk("%02X ",(char)param_1[(*(int *)(iVar12 + 0xfc) * 0x228 + uVar9 + 0xb25) * 2 + 2
]);
printk("%02X ",*(undefined1 *)
((int)param_1 + (*(int *)(iVar12 + 0xfc) * 0x228 + uVar9) * 8 + 0x5931
));
printk("%02X ",*(undefined1 *)
((int)param_1 + (*(int *)(iVar12 + 0xfc) * 0x228 + uVar9) * 8 + 0x5932
));
printk("%02X ",*(undefined1 *)
((int)param_1 + (*(int *)(iVar12 + 0xfc) * 0x228 + uVar9) * 8 + 0x5933
));
printk("%02X ",(char)param_1[(*(int *)(iVar12 + 0xfc) * 0x228 + uVar9) * 2 + 0x164d]);
printk("%02X ",*(undefined1 *)
((int)param_1 + (*(int *)(iVar12 + 0xfc) * 0x228 + uVar9) * 8 + 0x5935
));
printk(&_LC71) //possible issue identified - semgrep
uVar9 = uVar9 + 1;
}
return 1;
}
iVar6 = memcmp(local_230 + iVar4,auStack_238,6);
iVar7 = uVar10 + 2;
uVar10 = uVar9;
} while (iVar6 == 0);
iVar7 = *(int *)(iVar12 + 0xfc) * 0x228 + iVar11;
iVar11 = iVar11 + 1;
memmove(param_1 + (iVar7 + 0xb25) * 2 + 2,local_230 + iVar4,6) //possible issue identified - semgrep
} while( true );
}
if (*pcVar5 == '\0') {
if (1 < RTDebugLevel) {
pcVar5 = "An unnecessary delimiter entered!\n";
LAB_0008abdc:
printk(pcVar5);
}
goto LAB_0008add8;
}
sVar3 = strlen(pcVar5);
if (sVar3 == 0x11) {
__s = (byte *)rstrtok(pcVar5,&_LC182) //possible issue identified - semgrep
iVar11 = 0;
while (__s != (byte *)0x0) {
sVar3 = strlen((char *)__s);
puVar8 = local_240 + iVar11;
if (((sVar3 != 2) || (((&_ctype)[*__s] & 0x44) == 0)) || (((&_ctype)[__s[1]] & 0x44) == 0))
{
if (RTDebugLevel != 0) {
printk("illegal MAC address format or octet!\n");
}
break;
}
iVar11 = iVar11 + 1;
AtoH(__s,puVar8,1);
__s = (byte *)rstrtok(0,&_LC182) //possible issue identified - semgrep
}
if (iVar11 == 6) {
uVar9 = 0;
bVar2 = false;
do {
iVar11 = uVar9 + 1;
uVar10 = uVar9;
do {
iVar7 = iVar11 * 2;
uVar9 = uVar10 + 1;
if ((uint)local_230[1] <= uVar10) {
if ((!bVar2) && (2 < RTDebugLevel)) {
printk("The entry %02x:%02x:%02x:%02x:%02x:%02x is not in the list!\n",local_240[0],
local_240[1],local_240[2],local_240[3],local_23c,local_23b);
}
goto LAB_0008add8;
}
iVar4 = memcmp(local_230 + iVar7,local_240,6);
iVar11 = uVar10 + 2;
uVar10 = uVar9;
} while (iVar4 != 0);
memset(local_230 + iVar7,0,6) //possible issue identified - semgrep
bVar2 = true;
if (2 < RTDebugLevel) {
printk("The entry %02x:%02x:%02x:%02x:%02x:%02x founded will be deleted!\n",local_240[0]
,local_240[1],local_240[2],local_240[3],local_23c,local_23b);
bVar2 = true;
}
} while( true );
}
}
else if (RTDebugLevel != 0) {
pcVar5 = "illegal MAC address length!\n";
goto LAB_0008abdc;
}
} while( true );
}