[PATCH] gdiplus: Fix a memory leak (Valgrind).
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/gdiplus/font.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c index 729592b982..5e6aa5430f 100644 --- a/dlls/gdiplus/font.c +++ b/dlls/gdiplus/font.c @@ -1125,6 +1125,7 @@ GpStatus WINGDIPAPI GdipDeletePrivateFontCollection(GpFontCollection **fontColle return InvalidParameter; for (i = 0; i < (*fontCollection)->count; i++) heap_free((*fontCollection)->FontFamilies[i]); + heap_free((*fontCollection)->FontFamilies); heap_free(*fontCollection); return Ok; -- 2.17.1
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/gdiplus/tests/font.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c index 0a3a3bef79..367aae8192 100644 --- a/dlls/gdiplus/tests/font.c +++ b/dlls/gdiplus/tests/font.c @@ -109,6 +109,9 @@ static void test_long_name(void) stat = GdipDeleteFont(font); ok(stat == Ok, "GdipDeleteFont failed: %d\n", stat); + stat = GdipDeleteFontFamily(family); + ok(stat == Ok, "GdipDeleteFontFamily failed: %d\n", stat); + stat = GdipDeletePrivateFontCollection(&fonts); ok(stat == Ok, "GdipDeletePrivateFontCollection failed: %d\n", stat); @@ -1227,7 +1230,7 @@ static void test_GdipGetFontCollectionFamilyList(void) ok(found == 1, "Unexpected list count %d.\n", found); ok(family != NULL, "Expected family instance.\n"); - family = NULL; + family2 = NULL; found = 0; status = GdipGetFontCollectionFamilyList(collection, 1, &family2, &found); ok(status == Ok, "Failed to get family list, status %d.\n", status); -- 2.17.1
Hi, While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=45850 Your paranoid android. === wxppro (32 bit report) === gdiplus: 0b40:font: unhandled exception c0000005 at 00000000 === w2003std (32 bit report) === gdiplus: 06ac:font: unhandled exception c0000005 at 00000000 === wvistau64 (32 bit report) === gdiplus: 0370:font: unhandled exception c0000005 at 006F0130 === wvistau64_zh_CN (32 bit report) === gdiplus: 0bbc:font: unhandled exception c0000005 at 029F0130 === wvistau64_fr (32 bit report) === gdiplus: 072c:font: unhandled exception c0000005 at 02BC0130 === wvistau64_he (32 bit report) === gdiplus: 0bd8:font: unhandled exception c0000005 at 00E40130 === w2008s64 (32 bit report) === gdiplus: 0870:font: unhandled exception c0000005 at 00C30130 === w7u (32 bit report) === gdiplus: 0b70:font: unhandled exception c0000005 at 71856076 === w7pro64 (32 bit report) === gdiplus: 0ad8:font: unhandled exception c0000005 at 31005927 === w8 (32 bit report) === gdiplus: 0dd8:font: unhandled exception c0000005 at 00000000 === w8adm (32 bit report) === gdiplus: 0ff0:font: unhandled exception c0000005 at 00000000 === w864 (32 bit report) === gdiplus: 0ac8:font: unhandled exception c0000005 at 00000000 === w1064 (32 bit report) === gdiplus: 085c:font: unhandled exception c0000005 at 00000000 === wvistau64 (64 bit report) === gdiplus: 0890:font: unhandled exception c0000005 at 00000000022701F8 === w2008s64 (64 bit report) === gdiplus: 0870:font: unhandled exception c0000005 at 00000000024F01F8 === w7pro64 (64 bit report) === gdiplus: 0adc:font: unhandled exception c0000005 at 000007FEFB69AF1A === w864 (64 bit report) === gdiplus: 0a20:font: unhandled exception c0000005 at 0000000000000000 === w1064 (64 bit report) === gdiplus: 0c3c:font: unhandled exception c0000005 at 0000000000000000
participants (2)
-
Marvin -
Sven Baars