summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-07-30 14:53:29 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2005-07-30 14:53:29 +0200
commit44a4d1211783e8b0436ff988158a39ecab119524 (patch)
treedb19628d6f9e660203235414efaa5b70010e5cb7
parentaaa22842782212b222d545c4049e4a8b6f718807 (diff)
downloadvdr-44a4d1211783e8b0436ff988158a39ecab119524.tar.gz
vdr-44a4d1211783e8b0436ff988158a39ecab119524.tar.bz2
Avoiding duplicate components in EPG events when reading epg.data or in the PUTE SVDRP command
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--epg.c4
3 files changed, 6 insertions, 1 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 683dcdaa..2eeb9e3a 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1287,6 +1287,7 @@ Olaf Titz <olaf@bigred.inka.de>
for fixing some typos in the Makefile's 'font' target
for reporting a problem and some advice in fixing a possible freeze in pause mode
in case a device's PlayPesPacket() function permanently returns 0
+ for reporting excess memory consumption due to duplicate components in EPG events
Darren Salt <linux@youmustbejoking.demon.co.uk>
for pointing out that the '-' and 'ö' characters need to be escaped in the man
diff --git a/HISTORY b/HISTORY
index 180b19de..43dfbe31 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3646,3 +3646,5 @@ Video Disk Recorder Revision History
- Removed the fix for handling VPS timers, so that they only record if the event
they are assigned to actually has the given VPS time. This has caused repeating
VPS timers to stop recording prematurely.
+- Avoiding duplicate components in EPG events when reading epg.data or in the
+ PUTE SVDRP command (thanks to Olaf Titz for reporting this one).
diff --git a/epg.c b/epg.c
index 05c6d742..038f9c60 100644
--- a/epg.c
+++ b/epg.c
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.c 1.35 2005/06/05 12:17:15 kls Exp $
+ * $Id: epg.c 1.36 2005/07/30 14:44:54 kls Exp $
*/
#include "epg.h"
@@ -298,6 +298,8 @@ bool cEvent::Read(FILE *f, cSchedule *Schedule)
if (n == 3 || n == 4) {
Event = (cEvent *)Schedule->GetEvent(EventID, StartTime);
cEvent *newEvent = NULL;
+ if (Event)
+ DELETENULL(Event->components);
if (!Event)
Event = newEvent = new cEvent(EventID);
if (Event) {