diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2006-04-29 11:40:37 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-04-29 11:40:37 +0200 |
commit | 56468f72ad2b2bd5a5adc4b6980949d077ec2238 (patch) | |
tree | 44dca3c5f95ccf74d25fe3d863d6b36fb80c8389 /eit.c | |
parent | b42e1f73dba587bd89536f33e5cc4e12160ee48b (diff) | |
download | vdr-56468f72ad2b2bd5a5adc4b6980949d077ec2238.tar.gz vdr-56468f72ad2b2bd5a5adc4b6980949d077ec2238.tar.bz2 |
Fixed a memory leak in handling external EPG data
Diffstat (limited to 'eit.c')
-rw-r--r-- | eit.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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; |