summaryrefslogtreecommitdiff
path: root/Build/source/texk/ttfdump
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-14 23:09:40 +0000
committerKarl Berry <karl@freefriends.org>2016-07-14 23:09:40 +0000
commit7329bcf79a1f88ed36b6cbee8762c3b040ab8084 (patch)
tree022c471007d6f13606d7669bafd05f3cdc7f4826 /Build/source/texk/ttfdump
parenta01c0e89bf336b165cf3f981a232ba2f09341764 (diff)
null check before dereference
git-svn-id: svn://tug.org/texlive/trunk@41706 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/ttfdump')
-rw-r--r--Build/source/texk/ttfdump/ChangeLog8
-rw-r--r--Build/source/texk/ttfdump/libttf/cmap.c3
-rw-r--r--Build/source/texk/ttfdump/libttf/name.c4
-rw-r--r--Build/source/texk/ttfdump/libttf/post.c4
4 files changed, 19 insertions, 0 deletions
diff --git a/Build/source/texk/ttfdump/ChangeLog b/Build/source/texk/ttfdump/ChangeLog
index c7af707da7d..5d84a8c5b7e 100644
--- a/Build/source/texk/ttfdump/ChangeLog
+++ b/Build/source/texk/ttfdump/ChangeLog
@@ -1,3 +1,11 @@
+2016-07-15 Adrian Johnson <ajohnson@redneon.com>
+
+ * libttf/cmap.c,
+ * libttf/name.c,
+ * libttf/post.c: check for null before dereferencing in case
+ of missing cmap/name/post tables.
+ tex-live mail of 9 Jul 2016 18:17:16.
+
2015-07-07 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Better dependencies for 'make check'.
diff --git a/Build/source/texk/ttfdump/libttf/cmap.c b/Build/source/texk/ttfdump/libttf/cmap.c
index 1d1a68fb530..e75b0adfb60 100644
--- a/Build/source/texk/ttfdump/libttf/cmap.c
+++ b/Build/source/texk/ttfdump/libttf/cmap.c
@@ -225,6 +225,9 @@ void ttfFreeCMAP(CMAPPtr cmap)
{
USHORT i;
+ if (!cmap)
+ return;
+
free(cmap->encoding);
for (i = 0; i < cmap->numberOfMaps; i++)
diff --git a/Build/source/texk/ttfdump/libttf/name.c b/Build/source/texk/ttfdump/libttf/name.c
index 7f708b55c51..6c8c6c64d1e 100644
--- a/Build/source/texk/ttfdump/libttf/name.c
+++ b/Build/source/texk/ttfdump/libttf/name.c
@@ -72,6 +72,10 @@ void ttfPrintNAME(FILE *fp,NAMEPtr name)
void ttfFreeNAME(NAMEPtr name)
{
USHORT i;
+
+ if (!name)
+ return;
+
for (i=0;i<name->numberOfRecords;i++)
ttfFreeNameRecordData(name->NameRecords+i);
free(name->NameRecords);
diff --git a/Build/source/texk/ttfdump/libttf/post.c b/Build/source/texk/ttfdump/libttf/post.c
index c28e6593b72..ab8f13c227c 100644
--- a/Build/source/texk/ttfdump/libttf/post.c
+++ b/Build/source/texk/ttfdump/libttf/post.c
@@ -129,6 +129,10 @@ void ttfPrintPOST(FILE *fp,POSTPtr post)
void ttfFreePOST(POSTPtr post)
{
USHORT i, numGlyphs;
+
+ if (!post)
+ return;
+
switch (post->format)
{
case 0x00020000: