[Fontconfig] Fwd: [PATCH] Fix leaks introduced in fc5a589abad0e8285f7d95007ebda76536e8fa7d.
Akira TAGOH
akira at tagoh.org
Mon Sep 9 04:01:12 PDT 2013
---------- Forwarded message ----------
From: Akira TAGOH <akira at tagoh.org>
Date: Mon, Sep 9, 2013 at 8:00 PM
Subject: Re: [PATCH] Fix leaks introduced in
fc5a589abad0e8285f7d95007ebda76536e8fa7d.
To: Emanuele Giaquinta <emanuele.giaquinta at gmail.com>
Thanks for reporting. fixed that issue with a bit different way.
On Mon, Sep 9, 2013 at 1:46 AM, Emanuele Giaquinta
<emanuele.giaquinta at gmail.com> wrote:
> Hi,
>
> the patch fixes two leaks (of fontdata and hashstr) in
> FcFreeTypeQueryFace. I noticed the bug because fc-cache was using 1-2GB
> of RSS on my os x 10.8 system.
>
> Best regards,
>
> Emanuele Giaquinta
>
> ---
> src/fcfreetype.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/src/fcfreetype.c b/src/fcfreetype.c
> index 02e85cb..e68fefd 100644
> --- a/src/fcfreetype.c
> +++ b/src/fcfreetype.c
> @@ -1108,6 +1108,7 @@ FcFreeTypeQueryFace (const FT_Face face,
> char *fontdata = NULL;
> FT_Error err;
> FT_ULong len = 0, alen;
> + FcBool error = FcTrue;
>
> pat = FcPatternCreate ();
> if (!pat)
> @@ -1773,12 +1774,7 @@ bail3:
> }
> #endif
>
> - /*
> - * Drop our reference to the charset
> - */
> - FcCharSetDestroy (cs);
> -
> - return pat;
> + error = FcFalse;
>
> bail2:
> FcCharSetDestroy (cs);
> @@ -1787,6 +1783,8 @@ bail1:
> free (hashstr);
> if (fontdata)
> free (fontdata);
> + if (!error)
> + return pat;
> FcPatternDestroy (pat);
> bail0:
> return NULL;
> --
> 1.8.3.4
--
Akira TAGOH
--
Akira TAGOH
More information about the Fontconfig
mailing list