[cff] Free table upon error allocating other data (#58609). * src/cff/cffload.c (cff_index_get_pointers): When new_bytes fails to allocate, make sure to free the table. Do the same for both allocations if there is a later error.
diff --git a/ChangeLog b/ChangeLog
index 9c4ab5f..ecfb8b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2020-06-19 Sebastian Rasmussen <sebras@gmail.com>
+
+ [cff] Free table upon error allocating other data (#58609).
+
+ * src/cff/cffload.c (cff_index_get_pointers): When new_bytes fails
+ to allocate, make sure to free the table. Do the same for both
+ allocations if there is a later error.
+
2020-06-13 Werner Lemberg <wl@gnu.org>
Remove redundant inclusion of `ft2build.h'.
diff --git a/src/cff/cffload.c b/src/cff/cffload.c
index 3a3df6b..13f4992 100644
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -489,6 +489,10 @@
}
Exit:
+ if ( error && new_bytes )
+ FT_FREE( new_bytes );
+ if ( error && t )
+ FT_FREE( t );
return error;
}