From a16a451c1f411b223066209ff7cd840f40c7757c Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 27 Dec 2021 11:16:04 +0100 Subject: Fixed a possible memory leak in creating fonts --- CONTRIBUTORS | 1 + HISTORY | 1 + font.c | 6 ++++-- 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 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 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 @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; } -- cgit v1.2.3