mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a possible hangup when reading a broken epg.data file
This commit is contained in:
parent
d00b5d8828
commit
367b3f8c7d
@ -88,6 +88,7 @@ Benjamin Reichardt <reichard@math.uni-goettingen.de>
|
||||
Henning Holtschneider <hh@holtschneider.com>
|
||||
for patching 'runvdr' to check whether the driver is already loaded
|
||||
for reporting a bug in parsing group separators in channels.conf
|
||||
for pointing out a possible hangup when reading a broken epg.data file
|
||||
|
||||
Paulo Lopes <pmml@netvita.pt>
|
||||
for translating OSD texts to the Portugese language
|
||||
|
2
HISTORY
2
HISTORY
@ -1184,3 +1184,5 @@ Video Disk Recorder Revision History
|
||||
(thanks to Thilo Wunderlich for reporting this one).
|
||||
- Now the EPG scan skips channels that have their 'Ca' parameter explicitly set
|
||||
to an other DVB card (suggested by Sergei Haller).
|
||||
- Fixed a possible hangup when reading a broken epg.data file (thanks to Henning
|
||||
Holtschneider for pointing this one out).
|
||||
|
10
eit.c
10
eit.c
@ -16,7 +16,7 @@
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* $Id: eit.c 1.43 2002/04/06 11:42:47 kls Exp $
|
||||
* $Id: eit.c 1.44 2002/04/06 13:58:59 kls Exp $
|
||||
***************************************************************************/
|
||||
|
||||
#include "eit.h"
|
||||
@ -390,12 +390,12 @@ bool cEventInfo::Read(FILE *f, cSchedule *Schedule)
|
||||
case 'e': pEvent = NULL;
|
||||
break;
|
||||
case 'c': // to keep things simple we react on 'c' here
|
||||
return false;
|
||||
return true;
|
||||
default: esyslog(LOG_ERR, "ERROR: unexpected tag while reading EPG data: %s", s);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
esyslog(LOG_ERR, "ERROR: unexpected end of file while reading EPG data");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -754,8 +754,8 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules)
|
||||
if (1 == sscanf(s + 1, "%u", &uServiceID)) {
|
||||
cSchedule *p = (cSchedule *)Schedules->SetCurrentServiceID(uServiceID);
|
||||
if (p) {
|
||||
while (cEventInfo::Read(f, p))
|
||||
; // loop stops after having read the closing 'c'
|
||||
if (!cEventInfo::Read(f, p))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user