diff --git a/src/dvb/dvb_tables.c b/src/dvb/dvb_tables.c index cee8bae1..3cf9bf70 100644 --- a/src/dvb/dvb_tables.c +++ b/src/dvb/dvb_tables.c @@ -290,8 +290,8 @@ tdt_add(th_dvb_mux_instance_t *tdmi, struct dmx_sct_filter_params *fparams, LIST_FOREACH(t, &tdmi->tdmi_tables, tdt_link) { if(pid == t->tdt_pid && t->tdt_callback == callback && t->tdt_opaque == opaque) { - free(tdt); - free(fparams); + if (tdt) free(tdt); + if (fparams) free(fparams); return; } } diff --git a/src/dvb/dvb_transport.c b/src/dvb/dvb_transport.c index 1835d481..2c2d1c84 100644 --- a/src/dvb/dvb_transport.c +++ b/src/dvb/dvb_transport.c @@ -142,7 +142,7 @@ dvb_transport_start(service_t *t, unsigned int weight, int force_start) if(!r) dvb_transport_open_demuxers(tda, t); - dvb_table_add_pmt(tdmi, t->s_pmt_pid); + dvb_table_add_pmt(t->s_dvb_mux_instance, t->s_pmt_pid); return r; }