summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authorrcombs <rcombs@rcombs.me>2020-05-05 20:07:11 -0500
committerrcombs <rcombs@rcombs.me>2020-05-26 20:56:44 -0500
commit593133d2f29dd98b6d0f1d2806dd2aed57b75a79 (patch)
tree02d69449aecc8fded136fdc1381565ead0120cc8 /libass
parentb3bf60641f889dc8e318ebb93812a4a08f62871c (diff)
downloadlibass-593133d2f29dd98b6d0f1d2806dd2aed57b75a79.tar.bz2
libass-593133d2f29dd98b6d0f1d2806dd2aed57b75a79.tar.xz
coretext: fix leak on error
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_coretext.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libass/ass_coretext.c b/libass/ass_coretext.c
index f733277..d9e4c94 100644
--- a/libass/ass_coretext.c
+++ b/libass/ass_coretext.c
@@ -62,18 +62,19 @@ static void destroy_font(void *priv)
static bool check_postscript(void *priv)
{
+ bool ret = false;
CTFontDescriptorRef fontd = priv;
CFNumberRef cfformat =
CTFontDescriptorCopyAttribute(fontd, kCTFontFormatAttribute);
int format;
- if (!CFNumberGetValue(cfformat, kCFNumberIntType, &format))
- return false;
+ if (CFNumberGetValue(cfformat, kCFNumberIntType, &format)) {
+ ret = format == kCTFontFormatOpenTypePostScript ||
+ format == kCTFontFormatPostScript;
+ }
SAFE_CFRelease(cfformat);
-
- return format == kCTFontFormatOpenTypePostScript ||
- format == kCTFontFormatPostScript;
+ return ret;
}
static bool check_glyph(void *priv, uint32_t code)