summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2021-12-14 21:15:02 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2021-12-14 21:15:02 +0100
commitf275346ecc6bccb5d9cdf56e4e553ff45e941f50 (patch)
treedf07f9fbb4154376c4311c52dc6a6e4e7dc37d4b
parent33b47142e47ae73438f8562c808b0e8dad460199 (diff)
downloadvdr-f275346ecc6bccb5d9cdf56e4e553ff45e941f50.tar.gz
vdr-f275346ecc6bccb5d9cdf56e4e553ff45e941f50.tar.bz2
Fixed a memory leak in handling the NIT
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY3
-rw-r--r--nit.c4
3 files changed, 6 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 22ea4589..3ec812ce 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3667,6 +3667,7 @@ Helmut Binder <cco@aon.at>
for fixing flushing old data from the section handler
for removing unused declaration of cDvbTuner::SetFrontendType()
for fixing handling incomplete multi-packet CAT
+ for fixing a memory leak in handling the NIT
Ulrich Eckhardt <uli@uli-eckhardt.de>
for reporting a problem with shutdown after user inactivity in case a plugin is
diff --git a/HISTORY b/HISTORY
index 827d562c..60bbb78c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9737,7 +9737,7 @@ Video Disk Recorder Revision History
- The Recordings menu now marks recordings with errors with an exclamation mark ('!'),
and the number of errors (if any) is displayed in the recording's Info menu.
-2021-12-11:
+2021-12-14:
- Replaced all umlauts in the example channels.conf with their ae, oe, ue substitutes
to avoid problems on UTF-8 systems.
@@ -9745,3 +9745,4 @@ Video Disk Recorder Revision History
Haubrich).
- Fixed unlocking vs. call to EpgHandlers.EndSegmentTransfer() (reported by Christoph
Haubrich).
+- Fixed a memory leak in handling the NIT (thanks to Helmut Binder).
diff --git a/nit.c b/nit.c
index 980a3b2d..1985fc47 100644
--- a/nit.c
+++ b/nit.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: nit.c 5.1 2021/03/16 15:10:54 kls Exp $
+ * $Id: nit.c 5.2 2021/12/14 21:15:02 kls Exp $
*/
#include "nit.h"
@@ -100,8 +100,10 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
for (SI::Loop::Iterator it2; (d = ts.transportStreamDescriptors.getNext(it2)); ) {
if (d->getDescriptorTag() == SI::S2SatelliteDeliverySystemDescriptorTag) {
ForceDVBS2 = true;
+ delete d;
break;
}
+ delete d;
}
for (SI::Loop::Iterator it2; (d = ts.transportStreamDescriptors.getNext(it2)); ) {