From d4cf498279e12a239111573454f3e6d0543ef7f9 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Sun, 20 Oct 2013 14:02:09 +0400 Subject: [PATCH] driver/scanepg.cpp: return handled for events not handled in other code, should fix crashes on double-free problem --- src/driver/scanepg.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/driver/scanepg.cpp b/src/driver/scanepg.cpp index 895eb3dbf..40c10b720 100644 --- a/src/driver/scanepg.cpp +++ b/src/driver/scanepg.cpp @@ -155,8 +155,11 @@ void CEpgScan::StopStandby() int CEpgScan::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data) { - if (!g_settings.epg_scan || (!standby && (CFEManager::getInstance()->getEnabledCount() <= 1))) + if (!g_settings.epg_scan || (!standby && (CFEManager::getInstance()->getEnabledCount() <= 1))) { + if ((msg == NeutrinoMessages::EVT_EIT_COMPLETE) || (msg == NeutrinoMessages::EVT_BACK_ZAP_COMPLETE)) + return messages_return::handled; return messages_return::unhandled; + } CZapitChannel * newchan; if(msg == NeutrinoMessages::EVT_ZAP_COMPLETE) {