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_0043ce14;
iVar4 = DAT_0043ce0c;
if (DAT_0043ce0c < 10) {
bVar1 = DAT_0043ce14 != 0;
*(char **)(&DAT_0043ce40 + DAT_0043ce0c * 0xc) = configfilename;
uVar3 = lineno;
if (bVar1) {
iVar7 = *(int *)(iVar7 + DAT_0043ce18 * 4);
}
*(int *)(&DAT_0043ce44 + iVar4 * 0xc) = iVar7;
*(undefined4 *)(&DAT_0043ce48 + 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_0043ce0c = DAT_0043ce0c + 1;
lineno = 1;
configfilename = __filename;
uVar3 = FUN_0041e2e4(pFVar2,0x4000);
FUN_0041de98(uVar3);
DAT_0043ce1c = 3;
iVar4 = 0;
}
else {
dprintf(3,"cfswitch_buffer","cfparse: includes nested too deeply");
iVar4 = -1;
}
return iVar4;
}