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>
|
Henning Holtschneider <hh@holtschneider.com>
|
||||||
for patching 'runvdr' to check whether the driver is already loaded
|
for patching 'runvdr' to check whether the driver is already loaded
|
||||||
for reporting a bug in parsing group separators in channels.conf
|
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>
|
Paulo Lopes <pmml@netvita.pt>
|
||||||
for translating OSD texts to the Portugese language
|
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).
|
(thanks to Thilo Wunderlich for reporting this one).
|
||||||
- Now the EPG scan skips channels that have their 'Ca' parameter explicitly set
|
- Now the EPG scan skips channels that have their 'Ca' parameter explicitly set
|
||||||
to an other DVB card (suggested by Sergei Haller).
|
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 *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (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"
|
#include "eit.h"
|
||||||
@ -390,12 +390,12 @@ bool cEventInfo::Read(FILE *f, cSchedule *Schedule)
|
|||||||
case 'e': pEvent = NULL;
|
case 'e': pEvent = NULL;
|
||||||
break;
|
break;
|
||||||
case 'c': // to keep things simple we react on 'c' here
|
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);
|
default: esyslog(LOG_ERR, "ERROR: unexpected tag while reading EPG data: %s", s);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
esyslog(LOG_ERR, "ERROR: unexpected end of file while reading EPG data");
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -754,8 +754,8 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules)
|
|||||||
if (1 == sscanf(s + 1, "%u", &uServiceID)) {
|
if (1 == sscanf(s + 1, "%u", &uServiceID)) {
|
||||||
cSchedule *p = (cSchedule *)Schedules->SetCurrentServiceID(uServiceID);
|
cSchedule *p = (cSchedule *)Schedules->SetCurrentServiceID(uServiceID);
|
||||||
if (p) {
|
if (p) {
|
||||||
while (cEventInfo::Read(f, p))
|
if (!cEventInfo::Read(f, p))
|
||||||
; // loop stops after having read the closing 'c'
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user