int cfswitch_buffer(void)
{
bool bVar1;
char *__filename;
FILE *pFVar2;
undefined4 uVar3;
int iVar4;
int *piVar5;
char *pcVar6;
int iVar7;
__filename = (char *)qstrdup();
iVar7 = DAT_004411b4;
iVar4 = DAT_004411ac;
if (DAT_004411ac < 10) {
bVar1 = DAT_004411b4 != 0;
*(char **)(&DAT_004411e0 + DAT_004411ac * 0xc) = configfilename;
uVar3 = lineno;
if (bVar1) {
iVar7 = *(int *)(iVar7 + DAT_004411b8 * 4);
}
*(int *)(&DAT_004411e4 + iVar4 * 0xc) = iVar7;
*(undefined4 *)(&DAT_004411e8 + iVar4 * 0xc) = uVar3;
pFVar2 = fopen(__filename,"r") //possible issue identified - semgrep
if (pFVar2 == (FILE *)0x0) {
piVar5 = __errno_location();
pcVar6 = strerror(*piVar5);
dprintf(3,"cfswitch_buffer","cfparse: fopen(%s): %s",__filename,pcVar6);
return (*piVar5 == 2) - 1;
}
DAT_004411ac = DAT_004411ac + 1;
lineno = 1;
configfilename = __filename;
uVar3 = FUN_00423404(pFVar2,0x4000);
FUN_00422fb8(uVar3);
DAT_004411bc = 3;
iVar4 = 0;
}
else {
dprintf(3,"cfswitch_buffer","cfparse: includes nested too deeply");
iVar4 = -1;
}
return iVar4;
}