[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master b110acb: [sfnt, winfonts] Avoid memory leaks in case
From: |
Werner LEMBERG |
Subject: |
[freetype2] master b110acb: [sfnt, winfonts] Avoid memory leaks in case of error (#56587). |
Date: |
Fri, 12 Jul 2019 05:36:50 -0400 (EDT) |
branch: master
commit b110acba9e6f7e40314f0da5d249cb3cb3beeab8
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[sfnt, winfonts] Avoid memory leaks in case of error (#56587).
* src/sfnt/sfwoff.c (woff_open_font): Call `FT_FRAME_EXIT' in case
of error.
* src/winfonts/winfnt.c (fnt_face_get_dll_font): Ditto.
---
ChangeLog | 9 +++++++++
src/sfnt/sfwoff.c | 10 +++++++---
src/winfonts/winfnt.c | 6 +++++-
3 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 27b4c0d..dfafdfb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-07-12 Werner Lemberg <address@hidden>
+
+ [sfnt, winfonts] Avoid memory leaks in case of error (#56587).
+
+ * src/sfnt/sfwoff.c (woff_open_font): Call `FT_FRAME_EXIT' in case
+ of error.
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Ditto.
+
2019-07-12 Ben Wagner <address@hidden>
Properly handle phantom points for variation fonts (#56601).
diff --git a/src/sfnt/sfwoff.c b/src/sfnt/sfwoff.c
index ca4821a..c7eaca1 100644
--- a/src/sfnt/sfwoff.c
+++ b/src/sfnt/sfwoff.c
@@ -371,18 +371,18 @@
sfnt + table->OrigOffset, &output_len,
stream->cursor, table->CompLength );
if ( error )
- goto Exit;
+ goto Exit1;
if ( output_len != table->OrigLength )
{
FT_ERROR(( "woff_font_open: compressed table length mismatch\n" ));
error = FT_THROW( Invalid_Table );
- goto Exit;
+ goto Exit1;
}
#else /* !FT_CONFIG_OPTION_USE_ZLIB */
error = FT_THROW( Unimplemented_Feature );
- goto Exit;
+ goto Exit1;
#endif /* !FT_CONFIG_OPTION_USE_ZLIB */
}
@@ -424,6 +424,10 @@
}
return error;
+
+ Exit1:
+ FT_FRAME_EXIT();
+ goto Exit;
}
diff --git a/src/winfonts/winfnt.c b/src/winfonts/winfnt.c
index 2d771be..97eb6fc 100644
--- a/src/winfonts/winfnt.c
+++ b/src/winfonts/winfnt.c
@@ -331,7 +331,7 @@
{
FT_TRACE2(( "invalid alignment shift count for resource data\n" ));
error = FT_THROW( Invalid_File_Format );
- goto Exit;
+ goto Exit1;
}
@@ -597,6 +597,10 @@
Exit:
return error;
+
+ Exit1:
+ FT_FRAME_EXIT();
+ goto Exit;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master b110acb: [sfnt, winfonts] Avoid memory leaks in case of error (#56587).,
Werner LEMBERG <=