summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2021-12-27 11:16:04 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2021-12-27 11:16:04 +0100
commita16a451c1f411b223066209ff7cd840f40c7757c (patch)
tree9cf38b7e414239414aac23256feccf844d00e6e4
parent26412e88881697f2ca54164e20dfe75173d1ffd6 (diff)
downloadvdr-a16a451c1f411b223066209ff7cd840f40c7757c.tar.gz
vdr-a16a451c1f411b223066209ff7cd840f40c7757c.tar.bz2
Fixed a possible memory leak in creating fonts
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY1
-rw-r--r--font.c6
3 files changed, 6 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index efb6eb1b..b5fc4874 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3650,6 +3650,7 @@ Helmut Binder <cco@aon.at>
for reporting a problem with PMT handling in case locking the Channels list times out
for avoiding a lengthy lock on the Channels list when starting a recording
for fixing a memory leak in handling the NIT
+ for reporting a possible memory leak in creating fonts
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 ba1b4f64..ac8d8799 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9582,3 +9582,4 @@ Video Disk Recorder Revision History
- Fixed unlocking vs. call to EpgHandlers.EndSegmentTransfer() (reported by Christoph
Haubrich).
- Fixed a memory leak in handling the NIT (thanks to Helmut Binder).
+- Fixed a possible memory leak in creating fonts (reported by Helmut Binder).
diff --git a/font.c b/font.c
index 2a92c34b..135d78f8 100644
--- a/font.c
+++ b/font.c
@@ -6,7 +6,7 @@
*
* BiDi support by Osama Alrawab <alrawab@hotmail.com> @2008 Tripoli-Libya.
*
- * $Id: font.c 4.2 2016/12/22 12:31:23 kls Exp $
+ * $Id: font.c 4.2.1.1 2021/12/27 11:14:05 kls Exp $
*/
#include "font.h"
@@ -429,8 +429,10 @@ cFont *cFont::CreateFont(const char *Name, int CharHeight, int CharWidth)
{
cString fn = GetFontFileName(Name);
cFont *f = *fn ? new cFreetypeFont(fn, CharHeight, CharWidth) : NULL;
- if (!f || !f->Height())
+ if (!f || !f->Height()) {
+ delete f;
f = new cDummyFont(CharHeight, CharWidth);
+ }
return f;
}