[vlc-devel] [PATCH] fix abort (crash) if EPG string is not UTF8

Jean-Baptiste Kempf jb at videolan.org
Tue Nov 21 17:03:27 CET 2017


Hello Abylay,

Could you be nice enough to share a sample with us?

Thanks a lot.

On Mon, 20 Nov 2017, at 22:52, Abylay Ospan wrote:
> libvlc aborted if non english ATSC EPG strings arrived:
> 
> in vlc_meta_Set (p_meta=<optimized out>,
> meta_type=meta_type at entry=vlc_meta_ESNowPlaying,
> psz_val=psz_val at entry=0x7fffb5054530 "Pok\351mon") at input/meta.c:131
> in EsOutProgramEpg (p_epg=<optimized out>, i_group=<optimized out>,
> out=<optimized out>) at input/es_out.c:1408
> ...
> in ATSC_EIT_Callback (p_pid=0x7fffb500b690, p_eit=0x7fffb5045710) at
> demux/mpeg/ts_psip.c:505
> 
> Better just not display this string than abort.
> ---
>  src/input/meta.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/src/input/meta.c b/src/input/meta.c
> index 241b926079..80325b1249 100644
> --- a/src/input/meta.c
> +++ b/src/input/meta.c
> @@ -124,8 +124,7 @@ void vlc_meta_Delete( vlc_meta_t *m )
>  void vlc_meta_Set( vlc_meta_t *p_meta, vlc_meta_type_t meta_type, const
>  char *psz_val )
>  {
>      free( p_meta->ppsz_meta[meta_type] );
> -    assert( psz_val == NULL || IsUTF8( psz_val ) );
> -    p_meta->ppsz_meta[meta_type] = psz_val ? strdup( psz_val ) : NULL;
> +    p_meta->ppsz_meta[meta_type] = (psz_val && IsUTF8( psz_val )) ?
> strdup( psz_val ) : NULL;
>  }
>  
>  const char *vlc_meta_Get( const vlc_meta_t *p_meta, vlc_meta_type_t
>  meta_type )
> -- 
> 2.11.0
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


-- 
Jean-Baptiste Kempf -  President
+33 672 704 734


More information about the vlc-devel mailing list