hopefully fix frequently segfault
[enigma2.git] / lib / dvb / epgcache.cpp
index 7a1f78ddebc68df7d18979833684d5b62dcf433f..28cd855d2be24043302b81261fff9e5b16ad47eb 100644 (file)
@@ -873,6 +873,9 @@ void eEPGCache::channel_data::readData( const __u8 *data)
                                source=eEPGCache::SCHEDULE_OTHER;
                                map=2;
                                break;
+                       default:
+                               eDebug("[EPGC] unknown table_id !!!");
+                               return;
                }
                tidMap &seenSections = this->seenSections[map];
                tidMap &calcedSections = this->calcedSections[map];
@@ -887,7 +890,8 @@ void eEPGCache::channel_data::readData( const __u8 *data)
                                default: eDebugNoNewLine("unknown");break;
                        }
                        eDebug(" finished(%d)", time(0)+eDVBLocalTimeHandler::getInstance()->difference());
-                       reader->stop();
+                       if ( reader )
+                               reader->stop();
                        isRunning &= ~source;
                        if (!isRunning)
                                finishEPG();