summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-02-07 15:33:36 +0000
committerMichael Stahl <Michael.Stahl@cib.de>2019-08-27 14:12:28 +0200
commite8cdb549a3b19323668a323676f4b7dc21e8f6e0 (patch)
tree288224c6934f1fb27beaf388b6f0759da334a7e6
parentreturn early on short stream (diff)
downloadcore-e8cdb549a3b19323668a323676f4b7dc21e8f6e0.tar.gz
core-e8cdb549a3b19323668a323676f4b7dc21e8f6e0.zip
check table size before reading nglyphs
Change-Id: Ib511fdf16006877ca76085137eb9200601b2f8f7 Reviewed-on: https://gerrit.libreoffice.org/49363 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 08dd51bfcaa6b493e134bcc7787cc18c36ad5db1) Reviewed-on: https://gerrit.libreoffice.org/49436 Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--vcl/source/fontsubset/sft.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index 0e0978b779c0..d97be8071272 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -1693,7 +1693,8 @@ static int doOpenTTFont( sal_uInt32 facenum, TrueTypeFont* t )
}
const sal_uInt8* table = getTable(t, O_maxp);
- t->nglyphs = GetUInt16(table, 4, 1);
+ sal_uInt32 table_size = getTableSize(t, O_maxp);
+ t->nglyphs = table_size >= 6 ? GetUInt16(table, 4, 1) : 0;
table = getTable(t, O_head);
t->unitsPerEm = GetUInt16(table, 18, 1);