undefined4 cgibin_fill_http_content_len(char *param_1,size_t param_2)
{
int iVar1;
int iVar2;
char *pcVar3;
undefined4 uVar4;
int iVar5;
int *piVar6;
int iVar7;
int *piVar8;
int *piVar9;
char acStack_88 [32];
int local_68 [16];
memset(acStack_88,0,0x20) //possible issue identified - semgrep
uVar4 = 0xffffffff;
if (*param_1 != '\0') {
piVar8 = local_68;
piVar9 = piVar8;
do {
*piVar9 = 0;
piVar9 = piVar9 + 1;
} while (piVar9 != (int *)&stack0xffffffd8);
iVar1 = sobj_new();
pcVar3 = param_1;
piVar6 = piVar8;
if (iVar1 == 0) {
LAB_00405258:
uVar4 = 0xffffffff;
}
else {
do {
if ((pcVar3 == (char *)0x0) || ((int *)&stack0xffffffd8 == piVar6)) break;
iVar7 = sobj_new();
*piVar6 = iVar7;
if (iVar7 == 0) goto LAB_00405258;
if (*pcVar3 == '\0') {
pcVar3 = (char *)0x0;
}
else {
sobj_free(iVar7);
while ((iVar5 = (int)*pcVar3, iVar5 != 0 && (pcVar3 = pcVar3 + 1, iVar5 != 10))) {
if (iVar5 != 0xd) {
sobj_add_char(iVar7,iVar5);
}
}
}
iVar7 = sobj_get_length(iVar7);
piVar6 = piVar6 + 1;
} while (iVar7 != 0);
sobj_add_string(iVar1,pcVar3);
memset(param_1,0,param_2);
iVar7 = 0;
piVar6 = piVar8;
do {
iVar5 = *piVar6;
if ((iVar5 == 0) || (iVar2 = sobj_get_length(iVar5), iVar2 == 0)) break;
iVar2 = sobj_strncasecmp(iVar5,"CONTENT-LENGTH",0xe);
if (iVar2 == 0) {
uVar4 = sobj_get_length(iVar1);
sprintf(acStack_88,"CONTENT-LENGTH: %d \r\n",uVar4) //possible issue identified - semgrep
strcat(param_1,acStack_88) //possible issue identified - semgrep
iVar7 = iVar7 + 1;
}
else {
pcVar3 = (char *)sobj_get_string(iVar5);
strcat(param_1,pcVar3) //possible issue identified - semgrep
strcat(param_1,"\r\n") //possible issue identified - semgrep
}
piVar6 = piVar6 + 1;
} while ((int *)&stack0xffffffd8 != piVar6);
if (iVar7 == 0) {
uVar4 = sobj_get_length(iVar1);
sprintf(acStack_88,"CONTENT-LENGTH: %d \r\n",uVar4) //possible issue identified - semgrep
strcat(param_1,acStack_88) //possible issue identified - semgrep
}
strcat(param_1,"\r\n") //possible issue identified - semgrep
uVar4 = 0;
pcVar3 = (char *)sobj_get_string(iVar1);
strcat(param_1,pcVar3) //possible issue identified - semgrep
}
do {
iVar7 = *piVar8;
piVar8 = piVar8 + 1;
if (iVar7 != 0) {
sobj_del(iVar7);
}
} while (piVar8 != piVar9);
if (iVar1 != 0) {
sobj_del(iVar1);
}
}
return uVar4;
}