vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Apr 14 23:33:37 2014 +0300| [c2e56e6b8fe1c4b4ac7173faafd02edb37502a5c] | committer: Rémi Denis-Courmont
item: fix undefined zero-size array > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c2e56e6b8fe1c4b4ac7173faafd02edb37502a5c --- src/input/item.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/input/item.c b/src/input/item.c index e225657..b27250b 100644 --- a/src/input/item.c +++ b/src/input/item.c @@ -772,22 +772,27 @@ void input_item_SetEpgOffline( input_item_t *p_item ) #ifdef EPG_DEBUG vlc_mutex_lock( &p_item->lock ); const int i_epg_info = p_item->i_epg; - char *ppsz_epg_info[i_epg_info]; - for( int i = 0; i < p_item->i_epg; i++ ) + if( i_epg_info > 0 ) { - const vlc_epg_t *p_epg = p_item->pp_epg[i]; - if( asprintf( &ppsz_epg_info[i], "EPG %s", p_epg->psz_name ? p_epg->psz_name : "unknown" ) < 0 ) - ppsz_epg_info[i] = NULL; - } - vlc_mutex_unlock( &p_item->lock ); + char *ppsz_epg_info[i_epg_info]; + for( int i = 0; i < p_item->i_epg; i++ ) + { + const vlc_epg_t *p_epg = p_item->pp_epg[i]; + if( asprintf( &ppsz_epg_info[i], "EPG %s", p_epg->psz_name ? p_epg->psz_name : "unknown" ) < 0 ) + ppsz_epg_info[i] = NULL; + } + vlc_mutex_unlock( &p_item->lock ); - for( int i = 0; i < i_epg_info; i++ ) - { - if( !ppsz_epg_info[i] ) - continue; - input_item_DelInfo( p_item, ppsz_epg_info[i], NULL ); - free( ppsz_epg_info[i] ); + for( int i = 0; i < i_epg_info; i++ ) + { + if( !ppsz_epg_info[i] ) + continue; + input_item_DelInfo( p_item, ppsz_epg_info[i], NULL ); + free( ppsz_epg_info[i] ); + } } + else + vlc_mutex_unlock( &p_item->lock ); #endif vlc_event_t event = { .type = vlc_InputItemInfoChanged, }; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
