From 378251734aba41d7b26c83ec8654470cf6ae3334 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Mon, 19 Feb 2024 20:36:49 +0200 Subject: [PATCH] directwrite: fix outdated dealloc code that has become leaky Regression in commit b6650bd51b4c471c32dd3977ca9416c0b35f6358: fullnames and families are no longer allocated, so freeing them is pointless, wherease extended_family is allocated in their stead and yet is never freed. --- libass/ass_directwrite.c | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/libass/ass_directwrite.c b/libass/ass_directwrite.c index d66ea5def..1c7a3f051 100644 --- a/libass/ass_directwrite.c +++ b/libass/ass_directwrite.c @@ -638,19 +638,8 @@ static void add_font_face(IDWriteFontFace *face, ASS_FontProvider *provider, ass_font_provider_add_font(provider, &meta, NULL, 0, font_priv); cleanup: - if (meta.families) { - for (int k = 0; k < meta.n_family; k++) - free(meta.families[k]); - free(meta.families); - } - - if (meta.fullnames) { - for (int k = 0; k < meta.n_fullname; k++) - free(meta.fullnames[k]); - free(meta.fullnames); - } - free(meta.postscript_name); + free(meta.extended_family); if (face) IDWriteFontFace_Release(face); @@ -828,19 +817,8 @@ static void add_font(IDWriteFont *font, IDWriteFontFamily *fontFamily, ass_font_provider_add_font(provider, &meta, NULL, 0, font_priv); cleanup: - if (meta.families) { - for (int k = 0; k < meta.n_family; k++) - free(meta.families[k]); - free(meta.families); - } - - if (meta.fullnames) { - for (int k = 0; k < meta.n_fullname; k++) - free(meta.fullnames[k]); - free(meta.fullnames); - } - free(meta.postscript_name); + free(meta.extended_family); if (font) IDWriteFont_Release(font);