]> git.sesse.net Git - vlc/commitdiff
Avoid a segfault when services_discovery_GetServicesNames fail.
authorRémi Duraffort <ivoire@via.ecp.fr>
Sun, 2 Mar 2008 12:31:19 +0000 (13:31 +0100)
committerRémi Duraffort <ivoire@via.ecp.fr>
Sun, 2 Mar 2008 13:02:53 +0000 (14:02 +0100)
modules/gui/qt4/menus.cpp
modules/gui/wxwidgets/dialogs/playlist.cpp
modules/misc/lua/sd.c

index 967b992c5cfb93a1b75bd4fe3ac300bd46040e83..e76a793c05f571c2bfeb242d66fe06e0f7fd45d4 100644 (file)
@@ -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++ )
     {
index 24ad468a19dcff3ab1f40c324dac39f961b4d7c1..d60724da7463dfa17410faa1db79d26604be4e04 100644 (file)
@@ -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;
index 8c48aa7b4558a31fe0fbe8af40313d2ebf704754..8a98b202612908e42a3934cdd433072c0449e94c 100644 (file)
@@ -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 );