vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Thu Apr 2 19:33:17 2020 +0200| [62a55b6aa6f7d41a815d33928f5ae6ecca9b40b9] | committer: Francois Cartegnie
access: dvdnav: check return for nav packets getters > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=62a55b6aa6f7d41a815d33928f5ae6ecca9b40b9 --- modules/access/dvdnav.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c index 2b8e8e59db..f082f1021b 100644 --- a/modules/access/dvdnav.c +++ b/modules/access/dvdnav.c @@ -1080,10 +1080,16 @@ static int Demux( demux_t *p_demux ) p_sys->i_vobu_flush = 0; /* Look if we have need to force a flush (and when) */ - const pci_gi_t *p_pci_gi = &dvdnav_get_current_nav_pci( p_sys->dvdnav )->pci_gi; + const pci_t *p_pci = dvdnav_get_current_nav_pci( p_sys->dvdnav ); + if( unlikely(!p_pci) ) + break; + const pci_gi_t *p_pci_gi = &p_pci->pci_gi; if( p_pci_gi->vobu_se_e_ptm != 0 && p_pci_gi->vobu_se_e_ptm < p_pci_gi->vobu_e_ptm ) { - const dsi_gi_t *p_dsi_gi = &dvdnav_get_current_nav_dsi( p_sys->dvdnav )->dsi_gi; + const dsi_t *p_dsi = dvdnav_get_current_nav_dsi( p_sys->dvdnav ); + if( unlikely(!p_dsi) ) + break; + const dsi_gi_t *p_dsi_gi = &p_dsi->dsi_gi; if( p_dsi_gi->vobu_3rdref_ea != 0 ) p_sys->i_vobu_flush = p_dsi_gi->vobu_3rdref_ea; else if( p_dsi_gi->vobu_2ndref_ea != 0 ) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits