From 7329bcf79a1f88ed36b6cbee8762c3b040ab8084 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 14 Jul 2016 23:09:40 +0000 Subject: null check before dereference git-svn-id: svn://tug.org/texlive/trunk@41706 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/README | 2 +- Build/source/texk/ttfdump/ChangeLog | 8 ++++++++ Build/source/texk/ttfdump/libttf/cmap.c | 3 +++ Build/source/texk/ttfdump/libttf/name.c | 4 ++++ Build/source/texk/ttfdump/libttf/post.c | 4 ++++ 5 files changed, 20 insertions(+), 1 deletion(-) (limited to 'Build') diff --git a/Build/source/texk/README b/Build/source/texk/README index bcf7aa9192e..85f0610b439 100644 --- a/Build/source/texk/README +++ b/Build/source/texk/README @@ -96,7 +96,7 @@ texlive - scripts maintained here, by us ttf2pk2 - maintained here, by us -ttfdump - ? +ttfdump - maintained here, by us, since Taiwan upstream apparently gone. upmendex 0.51 - by Takuji Tanaka http://www.ctan.org/pkg/upmendex 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 + + * 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 * 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;inumberOfRecords;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: -- cgit v1.2.3