[vlc-commits] upnp: Do not crash without an active interface on macOS
Marvin Scholz
git at videolan.org
Tue Dec 10 12:03:25 CET 2019
vlc/vlc-3.0 | branch: master | Marvin Scholz <epirat07 at gmail.com> | Tue Dec 10 11:58:45 2019 +0100| [bd391a39db694c5241e1c60ef63c70cbdaa999ed] | committer: Marvin Scholz
upnp: Do not crash without an active interface on macOS
(manually cherry-picked from 7000b96ea7ecea5109048913fcef4bc8af8ac143)
Signed-off-by: Marvin Scholz <epirat07 at gmail.com>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=bd391a39db694c5241e1c60ef63c70cbdaa999ed
---
modules/services_discovery/upnp.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp
index 4dc966738f..d51a533b47 100644
--- a/modules/services_discovery/upnp.cpp
+++ b/modules/services_discovery/upnp.cpp
@@ -1583,6 +1583,9 @@ inline char *FromCFString(const CFStringRef cfString,
inline char *getPreferedAdapter()
{
SCDynamicStoreRef session = SCDynamicStoreCreate(NULL, CFSTR("session"), NULL, NULL);
+ if (session == NULL)
+ return NULL;
+
CFDictionaryRef q = (CFDictionaryRef) SCDynamicStoreCopyValue(session, CFSTR("State:/Network/Global/IPv4"));
char *returnValue = NULL;
@@ -1591,8 +1594,8 @@ inline char *getPreferedAdapter()
if (CFDictionaryGetValueIfPresent(q, CFSTR("PrimaryInterface"), &val)) {
returnValue = FromCFString((CFStringRef)val, kCFStringEncodingUTF8);
}
+ CFRelease(q);
}
- CFRelease(q);
CFRelease(session);
return returnValue;
More information about the vlc-commits
mailing list