summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/dvipsk/ChangeLog5
-rw-r--r--Build/source/texk/dvipsk/tfmload.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index 56392617608..3fc0375ba63 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-19 Yan Li <yan.i.li@intel.com>
+
+ * tfmload.c (name): increase size to 500.
+ (badtfm): check for name length overflow.
+
2010-06-13 Karl Berry <karl@tug.org>
* dvips.texi: update for 2010.
diff --git a/Build/source/texk/dvipsk/tfmload.c b/Build/source/texk/dvipsk/tfmload.c
index 80024a47312..b858951204c 100644
--- a/Build/source/texk/dvipsk/tfmload.c
+++ b/Build/source/texk/dvipsk/tfmload.c
@@ -16,7 +16,7 @@ FILE *tfmfile;
/*
* Our static variables:
*/
-static char name[50];
+static char name[500];
void
badtfm(const char *s)
@@ -39,6 +39,10 @@ tfmopen(register fontdesctype *fd)
register char *d;
#endif
n = fd->name;
+ if (strlen(n) + 6 >= sizeof (name)) {
+ /* 6 for tfm() + null */
+ error("! TFM file name too long in tfmopen") ;
+ }
if (!noomega) {
#ifdef KPATHSEA
d = ofmpath;