uint AutoChBssInsertEntry
(int param_1,void *param_2,void *param_3,byte param_4,byte param_5,byte param_6,
byte param_7)
{
uint uVar1;
int iVar2;
uint __n;
uint uVar3;
byte *pbVar4;
pbVar4 = *(byte **)(param_1 + 0x1695c);
__n = (uint)param_4;
if (pbVar4 == (byte *)0x0) {
uVar1 = 0xffffffff;
if (RTDebugLevel != 0) {
printk("pAd->pBssInfoTab equal NULL.\n");
uVar1 = 0xffffffff;
}
}
else {
uVar1 = AutoChBssSearchWithSSID();
if (uVar1 == 0xffffffff) {
uVar3 = (uint)*pbVar4;
if (uVar3 < 0x40) {
memcpy(pbVar4 + uVar3 * 0x2a + 1,param_2,6) //possible issue identified - semgrep
if ((__n != 0) && (iVar2 = memcmp(param_3,ZeroSsid,__n), iVar2 != 0)) {
memmove(pbVar4 + uVar3 * 0x2a + 8,param_3,__n) //possible issue identified - semgrep
pbVar4[uVar3 * 0x2a + 7] = param_4;
}
pbVar4[uVar3 * 0x2a + 0x2a] = param_7;
pbVar4[uVar3 * 0x2a + 0x28] = param_5;
pbVar4[uVar3 * 0x2a + 0x29] = param_6;
*pbVar4 = *pbVar4 + 1;
uVar1 = uVar3;
}
}
else {
memcpy(pbVar4 + uVar1 * 0x2a + 1,param_2,6) //possible issue identified - semgrep
if ((__n != 0) && (iVar2 = memcmp(param_3,ZeroSsid,__n), iVar2 != 0)) {
memmove(pbVar4 + uVar1 * 0x2a + 8,param_3,__n) //possible issue identified - semgrep
pbVar4[uVar1 * 0x2a + 7] = param_4;
}
pbVar4[uVar1 * 0x2a + 0x2a] = param_7;
pbVar4[uVar1 * 0x2a + 0x28] = param_5;
pbVar4[uVar1 * 0x2a + 0x29] = param_6;
}
}
return uVar1;
}