int ixmlDocument_createAttributeNSEx(int param_1,char *param_2,int param_3,int *param_4)

{
  int iVar1;
  int iVar2;
  char *pcVar3;
  int local_20 [3];
  
  local_20[0] = 0;
  if (((param_1 == 0) || (param_2 == (char *)0x0)) || (param_3 == 0)) {
    iVar2 = 0x69;
  }
  else {
    iVar2 = ixmlDocument_createAttributeEx(param_1,param_3,local_20);
    iVar1 = local_20[0];
    if (iVar2 == 0) {
      pcVar3 = strdup(param_2)   //possible issue identified - semgrep
      *(char **)(iVar1 + 0xc) = pcVar3;
      if (*(int *)(local_20[0] + 0xc) == 0) {
        iVar2 = 0x66;
        ixmlAttr_free();
        local_20[0] = 0;
      }
      else {
        iVar2 = ixmlNode_setNodeName(local_20[0],param_3);
        if (iVar2 != 0) {
          ixmlAttr_free(local_20[0]);
          local_20[0] = 0;
        }
      }
    }
  }
  *param_4 = local_20[0];
  return iVar2;
}