summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2022-01-09 07:48:59 +0100
committerWerner Lemberg <wl@gnu.org>2022-01-09 07:48:59 +0100
commitd276bcb7f0c02c20d3585b2e5626702df6d140a6 (patch)
tree2f08223993b88172f287764f0fc43bd5395c2aa4
parentca0111289498f3f6ce28b3d78ff5a54ccdfd2d47 (diff)
downloadfreetype2-d276bcb7f0c02c20d3585b2e5626702df6d140a6.tar.gz
[bzip2] Avoid use of uninitialized memory.
* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Don't use `FT_QNEW` but `FT_NEW` for setting up `zip` to avoid uninitialized memory access while handling malformed PCF fonts later on. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=42800
-rw-r--r--src/bzip2/ftbzip2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bzip2/ftbzip2.c b/src/bzip2/ftbzip2.c
index 296cea088..704979406 100644
--- a/src/bzip2/ftbzip2.c
+++ b/src/bzip2/ftbzip2.c
@@ -481,7 +481,9 @@
FT_ZERO( stream );
stream->memory = memory;
- if ( !FT_QNEW( zip ) )
+ /* Don't use `FT_QNEW` here to avoid problems with uninitialized */
+ /* memory later on if the font is malformed. */
+ if ( !FT_NEW( zip ) )
{
error = ft_bzip2_file_init( zip, stream, source );
if ( error )