[Libreoffice-commits] core.git: vcl/generic
Mark Wielaard
mark at klomp.org
Sun Jun 30 13:24:16 PDT 2013
vcl/generic/glyphs/gcach_ftyp.cxx | 6 ++++++
1 file changed, 6 insertions(+)
New commits:
commit 9ab800829b8a0e44824dc11276b54b1870bc5b2b
Author: Mark Wielaard <mark at klomp.org>
Date: Sun Jun 30 17:08:56 2013 +0200
Fix memory leak in ServerFont::GetGlyphOutline.
Always call FT_Done_Glyph before returning.
Change-Id: I861bcc66b065d9cfb909b3ea561af97caccc4593
Reviewed-on: https://gerrit.libreoffice.org/4635
Reviewed-by: Khaled Hosny <khaledhosny at eglug.org>
Tested-by: Khaled Hosny <khaledhosny at eglug.org>
diff --git a/vcl/generic/glyphs/gcach_ftyp.cxx b/vcl/generic/glyphs/gcach_ftyp.cxx
index d75c7d2..29c8820 100644
--- a/vcl/generic/glyphs/gcach_ftyp.cxx
+++ b/vcl/generic/glyphs/gcach_ftyp.cxx
@@ -2179,7 +2179,10 @@ bool ServerFont::GetGlyphOutline( int nGlyphIndex,
return false;
if( pGlyphFT->format != FT_GLYPH_FORMAT_OUTLINE )
+ {
+ FT_Done_Glyph( pGlyphFT );
return false;
+ }
if( mbArtItalic )
{
@@ -2191,7 +2194,10 @@ bool ServerFont::GetGlyphOutline( int nGlyphIndex,
FT_Outline& rOutline = reinterpret_cast<FT_OutlineGlyphRec*>(pGlyphFT)->outline;
if( !rOutline.n_points ) // blank glyphs are ok
+ {
+ FT_Done_Glyph( pGlyphFT );
return true;
+ }
long nMaxPoints = 1 + rOutline.n_points * 3;
PolyPolygon aToolPolyPolygon;
More information about the Libreoffice-commits
mailing list