diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 3ec812ce..dd6c513c 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3668,6 +3668,7 @@ Helmut Binder for removing unused declaration of cDvbTuner::SetFrontendType() for fixing handling incomplete multi-packet CAT 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 983b72a1..8f72f6e1 100644 --- a/HISTORY +++ b/HISTORY @@ -9746,3 +9746,7 @@ 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). + +2021-12-20: + +- Fixed a possible memory leak in creating fonts (reported by Helmut Binder). diff --git a/font.c b/font.c index 2a92c34b..8b37798c 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 5.1 2021/12/20 13:19:52 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; }