diff --git a/src/dvb/dvb_fe.c b/src/dvb/dvb_fe.c index 99c431d9..13b2ba38 100644 --- a/src/dvb/dvb_fe.c +++ b/src/dvb/dvb_fe.c @@ -315,8 +315,10 @@ dvb_fe_stop(th_dvb_mux_instance_t *tdmi, int retune) dvb_adapter_stop(tda, TDA_OPT_DVR); pthread_mutex_lock(&tda->tda_delivery_mutex); - while((dtf = TAILQ_FIRST(&tda->tda_table_feed))) + while((dtf = TAILQ_FIRST(&tda->tda_table_feed))) { TAILQ_REMOVE(&tda->tda_table_feed, dtf, dtf_link); + free(dtf); + } pthread_mutex_unlock(&tda->tda_delivery_mutex); dvb_table_flush_all(tdmi); tda->tda_locked = 0;