From c22ff83b2a08d4fd2f40f9d78e8c41e5f47e51f2 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 2 Nov 2023 10:16:34 +0100 Subject: [PATCH] Fix memory leak when resolving named instances in fonts We need to free the memory allocated when getting the info about the variable font. Change-Id: I25c5f070a6d02468c904428ea2ae71efce1e847c Reviewed-by: Lars Knoll --- src/gui/text/freetype/qfreetypefontdatabase.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/text/freetype/qfreetypefontdatabase.cpp b/src/gui/text/freetype/qfreetypefontdatabase.cpp index f7d592a761c..b5c925722f0 100644 --- a/src/gui/text/freetype/qfreetypefontdatabase.cpp +++ b/src/gui/text/freetype/qfreetypefontdatabase.cpp @@ -107,6 +107,10 @@ void QFreeTypeFontDatabase::addNamedInstancesForFace(void *face_, FT_MM_Var *var = nullptr; FT_Get_MM_Var(face, &var); if (var != nullptr) { + std::unique_ptr varGuard(var, [](FT_MM_Var *res) { + FT_Done_MM_Var(qt_getFreetype(), res); + }); + for (FT_UInt i = 0; i < var->num_namedstyles; ++i) { FT_UInt id = var->namedstyle[i].strid;