void osl_set_promisc(undefined4 *param_1,int param_2)

{
  int iVar1;
  int *piVar2;
  char *pcVar3;
  char *pcVar4;
  undefined4 uVar5;
  char acStack_30 [16];
  ushort local_20;
  
  memset(acStack_30,0,0x20)   //possible issue identified - semgrep
  strncpy(acStack_30,(char *)*param_1,0xf)   //possible issue identified - semgrep
  iVar1 = ioctl(param_1[2],0x8913,acStack_30);
  if (iVar1 == 0) {
    local_20 = local_20 & 0xfeff;
    if (param_2 != 0) {
      local_20 = local_20 | 0x100;
    }
    iVar1 = ioctl(param_1[2],0x8914,acStack_30);
    if (iVar1 == 0) {
      return;
    }
    uVar5 = *param_1;
    piVar2 = __errno_location();
    pcVar3 = strerror(*piVar2);
    pcVar4 = "osl_set_promisc: couldn\'t set interface flags for %s: %s\n";
  }
  else {
    uVar5 = *param_1;
    piVar2 = __errno_location();
    pcVar3 = strerror(*piVar2);
    pcVar4 = "osl_set_promisc: couldn\'t get interface flags for %s: %s\n";
  }
  die(pcVar4,uVar5,pcVar3);
  return;
}