[woff2] Fix memory leaks.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16896

* src/sfnt/sfwoff2.c (woff2_open_font): Fix error handling.
Free `uncompressed_buf'.
(reconstruct_font): Free `transformed_buf'.
This commit is contained in:
Nikhil Ramakrishnan 2019-09-20 06:30:28 +02:00 committed by Werner Lemberg
parent 04ebb2a000
commit 5327092bb2
2 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,15 @@
2019-09-20 Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>
[woff2] Fix memory leaks.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16896
* src/sfnt/sfwoff2.c (woff2_open_font): Fix error handling.
Free `uncompressed_buf'.
(reconstruct_font): Free `transformed_buf'.
2019-09-17 Werner Lemberg <wl@gnu.org>
* src/otvalid/otvcommon.c (otv_Coverage_get_last): Guard `count'.

View File

@ -1706,6 +1706,7 @@
FT_FREE( table_entry );
FT_Stream_Close( stream );
FT_FREE( stream );
FT_FREE( transformed_buf );
return error;
}
@ -2170,11 +2171,12 @@
woff2.uncompressed_size,
stream->cursor,
woff2.totalCompressedSize );
if ( error )
goto Exit;
FT_FRAME_EXIT();
if ( error )
goto Exit;
error = reconstruct_font( uncompressed_buf,
woff2.uncompressed_size,
indices,
@ -2183,6 +2185,9 @@
&sfnt,
&sfnt_size,
memory );
uncompressed_buf = NULL;
if ( error )
goto Exit;
@ -2221,6 +2226,7 @@
Exit:
FT_FREE( tables );
FT_FREE( indices );
FT_FREE( uncompressed_buf );
if ( error )
{