From: RĂ©mi Duraffort Date: Sun, 2 Mar 2008 12:31:19 +0000 (+0100) Subject: Avoid a segfault when services_discovery_GetServicesNames fail. X-Git-Tag: 0.9.0-test0~2384 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=905bbb9e546101ce96a0eba8707273dafb1b8fab;p=vlc Avoid a segfault when services_discovery_GetServicesNames fail. --- diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp index 967b992c5c..e76a793c05 100644 --- a/modules/gui/qt4/menus.cpp +++ b/modules/gui/qt4/menus.cpp @@ -428,6 +428,9 @@ QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf ) char **ppsz_longnames; char **ppsz_names = services_discovery_GetServicesNames( p_intf, &ppsz_longnames ); + if( !ppsz_names ) + return menu; + char **ppsz_name = ppsz_names, **ppsz_longname = ppsz_longnames; for( ; *ppsz_name; ppsz_name++, ppsz_longname++ ) { diff --git a/modules/gui/wxwidgets/dialogs/playlist.cpp b/modules/gui/wxwidgets/dialogs/playlist.cpp index 24ad468a19..d60724da74 100644 --- a/modules/gui/wxwidgets/dialogs/playlist.cpp +++ b/modules/gui/wxwidgets/dialogs/playlist.cpp @@ -1408,6 +1408,9 @@ wxMenu *Playlist::SDMenu() char **ppsz_longnames; char **ppsz_names = services_discovery_GetServicesNames( p_playlist, &ppsz_longnames ); + if( !ppsz_names ) + return p_sd_menu; + char **ppsz_name = ppsz_names, **ppsz_longname = ppsz_longnames; int i_number = 0; diff --git a/modules/misc/lua/sd.c b/modules/misc/lua/sd.c index 8c48aa7b45..8a98b20261 100644 --- a/modules/misc/lua/sd.c +++ b/modules/misc/lua/sd.c @@ -50,6 +50,9 @@ int vlclua_sd_get_services_names( lua_State *L ) vlc_object_t *p_this = vlclua_get_this( L ); char **ppsz_longnames; char **ppsz_names = services_discovery_GetServicesNames( p_this, &ppsz_longnames ); + if( !ppsz_names ) + return 0; + char **ppsz_longname = ppsz_longnames; char **ppsz_name = ppsz_names; lua_settop( L, 0 );