From 2af6903b15495c9c472faf4b243be7ba75eeaeb5 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 29 Jul 2022 22:42:22 +0200 Subject: [PATCH] * src/base/ftglyph.c (FT_Get_Glyph): Set `*aglyph` to NULL in case of error. --- include/freetype/ftglyph.h | 6 +++--- src/base/ftglyph.c | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/freetype/ftglyph.h b/include/freetype/ftglyph.h index 6b77bd3d2..b9235463f 100644 --- a/include/freetype/ftglyph.h +++ b/include/freetype/ftglyph.h @@ -355,7 +355,7 @@ FT_BEGIN_HEADER * * @output: * aglyph :: - * A handle to the glyph object. + * A handle to the glyph object. `NULL` in case of error. * * @return: * FreeType error code. 0~means success. @@ -385,7 +385,7 @@ FT_BEGIN_HEADER * * @output: * target :: - * A handle to the target glyph object. 0~in case of error. + * A handle to the target glyph object. `NULL` in case of error. * * @return: * FreeType error code. 0~means success. @@ -671,7 +671,7 @@ FT_BEGIN_HEADER * * @input: * glyph :: - * A handle to the target glyph object. + * A handle to the target glyph object. Can be `NULL`. */ FT_EXPORT( void ) FT_Done_Glyph( FT_Glyph glyph ); diff --git a/src/base/ftglyph.c b/src/base/ftglyph.c index 571dca1a9..5873438cd 100644 --- a/src/base/ftglyph.c +++ b/src/base/ftglyph.c @@ -682,7 +682,10 @@ Exit2: /* if an error occurred, destroy the glyph */ if ( error ) + { FT_Done_Glyph( glyph ); + *aglyph = NULL; + } else *aglyph = glyph;