diff options
| -rw-r--r-- | CONTRIBUTORS | 1 | ||||
| -rw-r--r-- | HISTORY | 1 | ||||
| -rw-r--r-- | eit.c | 6 | 
3 files changed, 6 insertions, 2 deletions
| diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 946faef4..0f82d14e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1863,6 +1863,7 @@ Richard Lithvall <richard@lithvall.se>  Tobias Grimm <listaccount@e-tobi.net>   for suggesting to use geteuid() to check whether VDR is running as user 'root' + for fixing a memory leak in handling external EPG data  Helge Lenz <h.lenz@gmx.de>   for reporting a bug in setting the 'Delta' parameter when calling the shutdown @@ -4683,3 +4683,4 @@ Video Disk Recorder Revision History  - Fixed handling the "Power" key in case a recording is going on and no plugin    is active (thanks to Udo Richter; bug reported by Dominique Simon).  - Updated the Polish OSD texts (thanks to Jaroslaw Swierczynski). +- Fixed a memory leak in handling external EPG data (thanks to Tobias Grimm). @@ -8,7 +8,7 @@   * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.   * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.   * - * $Id: eit.c 1.116 2006/04/15 14:11:52 kls Exp $ + * $Id: eit.c 1.117 2006/04/29 11:38:37 kls Exp $   */  #include "eit.h" @@ -103,8 +103,10 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data)        cLinkChannels *LinkChannels = NULL;        cComponents *Components = NULL;        for (SI::Loop::Iterator it2; (d = SiEitEvent.eventDescriptors.getNext(it2)); ) { -          if (ExternalData && d->getDescriptorTag() != SI::ComponentDescriptorTag) +          if (ExternalData && d->getDescriptorTag() != SI::ComponentDescriptorTag) { +             delete d;               continue; +             }            switch (d->getDescriptorTag()) {              case SI::ExtendedEventDescriptorTag: {                   SI::ExtendedEventDescriptor *eed = (SI::ExtendedEventDescriptor *)d; | 
