diff options
author | Hironobu Yamashita <h.y.acetaminophen@gmail.com> | 2019-02-23 22:34:30 +0000 |
---|---|---|
committer | Hironobu Yamashita <h.y.acetaminophen@gmail.com> | 2019-02-23 22:34:30 +0000 |
commit | 389adc225b81ce6f44e82455cd7ec72402c2ed13 (patch) | |
tree | 3fa3a637208d652c9294ac3ac87f223379c2b730 /Build/source/texk/makejvf/tfmread.c | |
parent | 86ffc22eba4103f3f056180b2eb16e078d76bb90 (diff) |
makejvf: forbid invalid usages
git-svn-id: svn://tug.org/texlive/trunk@50106 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/makejvf/tfmread.c')
-rw-r--r-- | Build/source/texk/makejvf/tfmread.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/Build/source/texk/makejvf/tfmread.c b/Build/source/texk/makejvf/tfmread.c index 275ecd9164b..cf825cc28dc 100644 --- a/Build/source/texk/makejvf/tfmread.c +++ b/Build/source/texk/makejvf/tfmread.c @@ -93,20 +93,17 @@ int jfmread(int kcode) int tfmget(char *name) { - char nbuff[1024]; + char *nbuff; FILE *fp; - if (strlen(name) >= 1020) { /* <buffer size> - ".tfm" */ - fprintf(stderr,"Too long input file name.\n"); - exit(1); - } + nbuff = xmalloc(strlen(name)+4); strcpy(nbuff,name); + strcat(nbuff,".tfm"); fp = fopen(nbuff,"rb"); if (fp == NULL) { - strcat(nbuff,".tfm"); - fp = fopen(nbuff,"rb"); + fp = fopen(name,"rb"); /* just in case ... */ if (fp == NULL) { - fprintf(stderr,"%s is not found.\n",name); + fprintf(stderr,"Cannot open %s for input.\n",nbuff); exit(1); } } |