Skip to content
Snippets Groups Projects
Commit 8962355d authored by SteelT's avatar SteelT
Browse files

Fix UPnP port mapping not working

Despite UPNP_AddPortMapping returning sucess status, no port mapping would actually be added at all. And that's due to a memset call in the middle of the function.
Wiping the IGDdatas struct, moving the memset to the start of the function fixes it and a port mapping is actually created/removed when a server is started/stopped.
parent a5bf4a5b
No related branches found
No related tags found
No related merge requests found
......@@ -300,6 +300,10 @@ init_upnpc_once(struct upnpdata *upnpuserdata)
int upnp_error = -2;
int scope_id = 0;
int status_code = 0;
memset(&urls, 0, sizeof(struct UPNPUrls));
memset(&data, 0, sizeof(struct IGDdatas));
CONS_Printf(M_GetText("Looking for UPnP Internet Gateway Device\n"));
devlist = upnpDiscoverDevices(deviceTypes, 500, NULL, NULL, 0, false, 2, &upnp_error, 0);
if (devlist)
......@@ -327,8 +331,6 @@ init_upnpc_once(struct upnpdata *upnpuserdata)
parserootdesc(descXML, descXMLsize, &data);
free(descXML);
descXML = NULL;
memset(&urls, 0, sizeof(struct UPNPUrls));
memset(&data, 0, sizeof(struct IGDdatas));
GetUPNPUrls(&urls, &data, dev->descURL, status_code);
I_AddExitFunc(I_ShutdownUPnP);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment