/* WARNING: Removing unreachable block (ram,0x00414768) */
undefined4 FUN_00414518(int *param_1,undefined4 *param_2,undefined4 param_3)
{
size_t sVar1;
int iVar2;
char *__s;
int local_20;
char *local_1c;
if (param_1 == (int *)0x0) {
param_2[1] = param_2;
*param_2 = 0;
return 0;
}
*param_2 = 0;
param_2[1] = param_2;
while( true ) {
__s = strdup((char *)(param_1[7] + 1));
if (__s == (char *)0x0) {
dprintf(3,"configure_domain","failed to copy a %s domain name",param_3);
return 0xffffffff;
}
sVar1 = strlen(__s);
__s[sVar1 - 1] = '\0' //possible issue identified - semgrep
local_1c = __s;
sVar1 = strlen(__s);
local_20 = sVar1 + 1 //possible issue identified - semgrep
iVar2 = dhcp6_find_listval(param_2,8,&local_20,0);
if (iVar2 != 0) break;
iVar2 = dhcp6_add_listval(param_2,8,&local_20,0);
if (iVar2 == 0) {
dprintf(3,"configure_domain","failed to add a %s name",param_3);
goto LAB_004146b4;
}
dhcp6_vbuf_free(&local_20);
param_1 = (int *)*param_1;
if (param_1 == (int *)0x0) {
return 0;
}
}
dprintf(6,"configure_domain","%s:%d duplicated %s name: %s",configfilename,param_1[3],param_3,
local_1c);
LAB_004146b4:
dhcp6_vbuf_free(&local_20);
return 0xffffffff;
}