$OpenBSD: patch-src_UPnPBase_cpp,v 1.2 2016/06/03 11:54:44 dcoppa Exp $

Fix usage of uninitialized value in libupnp
(upstream git commit f2ea995c6bf85c748824b473e6238fef0ae3f44c)

Fix the return value of CUPnPService::GetStateVariable
(from upstream git commit 171bc8f931dccae64f1f7d43c84a4e8ce0f0dc49)

--- src/UPnPBase.cpp.orig	Mon Jun 13 10:50:25 2011
+++ src/UPnPBase.cpp	Fri Jun  3 12:18:24 2016
@@ -471,6 +471,8 @@ m_SCPD(NULL)
 	std::ostringstream msg;
 	int errcode;
 	
+	memset(m_SID, 0 , sizeof(Upnp_SID));
+
 	std::vector<char> vscpdURL(URLBase.length() + m_SCPDURL.length() + 1);
 	char *scpdURL = &vscpdURL[0];
 	errcode = UpnpResolveURL(
@@ -751,7 +753,7 @@ const std::string CUPnPService::GetStateVariable(
 		StVarVal <<
 		"'.";
 	AddDebugLogLineN(logUPnP, msg);
-	return stdEmptyString;
+	return StVarVal;
 }
 
 
@@ -1321,6 +1323,7 @@ upnpEventSubscriptionExpired:
 		struct Upnp_Event_Subscribe *es_event =
 			(struct Upnp_Event_Subscribe *)Event;
 		Upnp_SID newSID;
+		memset(newSID, 0, sizeof(Upnp_SID));
 		int TimeOut = 1801;
 		int ret = UpnpSubscribe(
 			upnpCP->m_UPnPClientHandle,
