vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Feb 11 
20:14:49 2016 +0100| [17d0021ceb7a64c3a9c451b63620cfc1f1f25f22] | committer: 
Francois Cartegnie

demux: ts: fix invalid cast to decoded descriptor

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=17d0021ceb7a64c3a9c451b63620cfc1f1f25f22
---

 modules/demux/mpeg/ts_psip.c |   19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/modules/demux/mpeg/ts_psip.c b/modules/demux/mpeg/ts_psip.c
index 25539aa..d433899 100644
--- a/modules/demux/mpeg/ts_psip.c
+++ b/modules/demux/mpeg/ts_psip.c
@@ -311,20 +311,23 @@ static void ATSC_VCT_Callback( void *p_cb_basepid, 
dvbpsi_atsc_vct_t* p_vct )
         {
             char *psz_name = NULL;
 
-            for( const dvbpsi_descriptor_t *p_dr = 
p_channel->p_first_descriptor;
+            for( dvbpsi_descriptor_t *p_dr = p_channel->p_first_descriptor;
                  p_dr; p_dr = p_dr->p_next )
             {
                 switch( p_dr->i_tag )
                 {
                     case ATSC_DESCRIPTOR_EXTENDED_CHANNEL_NAME:
                     {
-                        const dvbpsi_extended_channel_name_dr_t *p_ecndr =
-                                (const dvbpsi_extended_channel_name_dr_t 
*)p_dr;
-                        if( unlikely(psz_name) )
-                            free( psz_name );
-                        psz_name = atsc_a65_Decode_multiple_string( 
p_ctx->p_a65,
-                                                                    
p_ecndr->i_long_channel_name,
-                                                                    
p_ecndr->i_long_channel_name_length );
+                        dvbpsi_extended_channel_name_dr_t *p_ecndr =
+                                                    
dvbpsi_ExtendedChannelNameDr( p_dr );
+                        if( p_ecndr )
+                        {
+                            if( unlikely(psz_name) )
+                                free( psz_name );
+                            psz_name = atsc_a65_Decode_multiple_string( 
p_ctx->p_a65,
+                                                                        
p_ecndr->i_long_channel_name,
+                                                                        
p_ecndr->i_long_channel_name_length );
+                        }
 
                     } break;
 

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to