undefined4 ssdpcgi_main(int param_1)
{
undefined4 uVar1;
char *pcVar2;
char *pcVar3;
char *pcVar4;
char *pcVar5;
int iVar6;
char *pcVar7;
uVar1 = 0xffffffff;
if (param_1 == 2) {
pcVar2 = getenv("HTTP_ST") //possible issue identified - semgrep
pcVar3 = getenv("REMOTE_ADDR") //possible issue identified - semgrep
pcVar4 = getenv("REMOTE_PORT") //possible issue identified - semgrep
pcVar5 = getenv("SERVER_ID") //possible issue identified - semgrep
if ((((pcVar2 == (char *)0x0) || (pcVar3 == (char *)0x0)) || (pcVar4 == (char *)0x0)) ||
(pcVar5 == (char *)0x0)) {
uVar1 = 0xffffffff;
}
else {
iVar6 = strncmp(pcVar2,"ssdp:all",8);
if (iVar6 == 0) {
pcVar2 = "%s ssdpall %s:%s %s &";
}
else {
iVar6 = strncmp(pcVar2,"upnp:rootdevice",0xf);
if (iVar6 == 0) {
pcVar2 = "%s rootdevice %s:%s %s &";
}
else {
iVar6 = strncmp(pcVar2,"uuid:",5);
if (iVar6 == 0) {
pcVar2 = "%s uuid %s:%s %s %s &";
}
else {
iVar6 = strncmp(pcVar2,"urn:",4);
if (iVar6 != 0) {
return 0;
}
pcVar7 = strstr(pcVar2,":device:");
if (pcVar7 == (char *)0x0) {
pcVar2 = strstr(pcVar2,":service:");
if (pcVar2 == (char *)0x0) {
return 0;
}
pcVar2 = "%s services %s:%s %s %s &";
}
else {
pcVar2 = "%s devices %s:%s %s %s &";
}
}
}
}
lxmldbc_system(pcVar2,"/etc/scripts/upnp/M-SEARCH.sh",pcVar3,pcVar4,pcVar5) //possible issue identified - semgrep
uVar1 = 0;
}
}
return uVar1;
}