From 469dc54720a2bafd6c2b7529904073b529d29f1f Mon Sep 17 00:00:00 2001 From: Laurent Aimar Date: Thu, 20 Nov 2008 20:12:51 +0100 Subject: [PATCH] Fixed double free. --- modules/demux/ts.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/demux/ts.c b/modules/demux/ts.c index 7394db2831..9a195edf0b 100644 --- a/modules/demux/ts.c +++ b/modules/demux/ts.c @@ -1562,15 +1562,15 @@ static void PIDInit( ts_pid_t *pid, bool b_psi, ts_psi_t *p_owner ) if( !b_old_valid ) { - free( pid->psi ); pid->psi = malloc( sizeof( ts_psi_t ) ); if( pid->psi ) { - pid->psi->handle= NULL; - pid->psi->i_prg = 0; - pid->psi->prg = NULL; + pid->psi->handle = NULL; + TAB_INIT( pid->psi->i_prg, pid->psi->prg ); } } + assert( pid->psi ); + pid->psi->i_pat_version = -1; pid->psi->i_sdt_version = -1; if( p_owner ) @@ -3186,7 +3186,7 @@ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt ) * parsing the SDT/EDT */ dvbpsi_DetachDemux( pid->psi->handle ); free( pid->psi ); - pid->psi = 0; + pid->psi = NULL; } else { -- 2.20.1