From 9cd2284f3e08f856860adcf6ac54943e664b27c3 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Mon, 23 Jan 2006 16:32:45 +0000 Subject: [PATCH] add endianess check to epg.dat --- lib/dvb/epgcache.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 59b88107..716033ee 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -725,9 +725,17 @@ void eEPGCache::load() if ( md5ok ) #endif { + int magic; + fread( &magic, sizeof(int), 1, f); + if (magic != 0x98765432) + { + eDebug("epg file has incorrect byte order.. dont read it"); + fclose(f); + return; + } char text1[13]; fread( text1, 13, 1, f); - if ( !strncmp( text1, "ENIGMA_EPG_V4", 13) ) + if ( !strncmp( text1, "ENIGMA_EPG_V5", 13) ) { fread( &size, sizeof(int), 1, f); while(size--) @@ -823,7 +831,9 @@ void eEPGCache::save() int cnt=0; if ( f ) { - const char *text = "ENIGMA_EPG_V4"; + int magic = 0x98765432; + fwrite( &magic, sizeof(int), 1, f); + const char *text = "ENIGMA_EPG_V5"; fwrite( text, 13, 1, f ); int size = eventDB.size(); fwrite( &size, sizeof(int), 1, f ); -- 2.30.2