From 426ee1c03d70f5c8025fd474c51ef1adf33cbded Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Tue, 21 Aug 2012 12:35:46 +0100 Subject: [PATCH] Only parse releveant service descriptor tags, else TVH can crash. Fixes #1030. --- src/dvb/dvb_tables.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/dvb/dvb_tables.c b/src/dvb/dvb_tables.c index 9cda8919..7f358d67 100644 --- a/src/dvb/dvb_tables.c +++ b/src/dvb/dvb_tables.c @@ -874,14 +874,16 @@ dvb_nit_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len, switch(tag) { case DVB_DESC_SAT: - dvb_table_sat_delivery(tdmi, ptr, tlen, tsid); - break; + if(tdmi->tdmi_adapter->tda_type == FE_QPSK) + dvb_table_sat_delivery(tdmi, ptr, tlen, tsid); + break; case DVB_DESC_CABLE: - dvb_table_cable_delivery(tdmi, ptr, tlen, tsid); - break; + if(tdmi->tdmi_adapter->tda_type == FE_QAM) + dvb_table_cable_delivery(tdmi, ptr, tlen, tsid); + break; case DVB_DESC_LOCAL_CHAN: - dvb_table_local_channel(tdmi, ptr, tlen, tsid); - break; + dvb_table_local_channel(tdmi, ptr, tlen, tsid); + break; } ptr += tlen;