summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorHironobu Yamashita <h.y.acetaminophen@gmail.com>2022-03-11 22:35:23 +0000
committerHironobu Yamashita <h.y.acetaminophen@gmail.com>2022-03-11 22:35:23 +0000
commit6d712f0671cbc110939f4029090a486c1fa25e9a (patch)
treec0f9f564f8bcabb9120c8770ff5222ce44c8151c /Build
parent0a288cbce83d418f3aad41c002db725541326ef7 (diff)
dvi2tty: error exit in special case
git-svn-id: svn://tug.org/texlive/trunk@62644 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/dvi2tty/ChangeLog8
-rw-r--r--Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.c2
-rw-r--r--Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.h1
-rw-r--r--Build/source/texk/dvi2tty/dvi2tty-src/dvistuff.c1
4 files changed, 12 insertions, 0 deletions
diff --git a/Build/source/texk/dvi2tty/ChangeLog b/Build/source/texk/dvi2tty/ChangeLog
index 7b9c85b3ab5..0708ef70ba7 100644
--- a/Build/source/texk/dvi2tty/ChangeLog
+++ b/Build/source/texk/dvi2tty/ChangeLog
@@ -1,3 +1,11 @@
+2022-03-11 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * dvi2tty.[ch], dvistuff.c: Error exit if fail to get font,
+ to avoid segmentation fault (do not occur in TeX-DVI, but
+ erroneously created in some situation).
+ https://github.com/aminophen/dviasm/issues/20
+ https://github.com/texjporg/tex-jp-build/issues/138
+
2021-07-18 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* dvi2tty.c, disdvi.c: Apply patch of W32TeX by Kakuto-san.
diff --git a/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.c b/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.c
index f3a5b082f04..ac63c06d48e 100644
--- a/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.c
+++ b/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.c
@@ -751,6 +751,8 @@ void errorexit(int errorcode)
case pipcr : fprintf(stderr, "Cannot create pipe to pager\n");
break;
#endif
+ case bdfnt : fprintf(stderr, "Fail to get font information\n");
+ break;
default : fprintf(stderr, "Unkown error code\n");
break;
};
diff --git a/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.h b/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.h
index c77eaa56c77..497072f7181 100644
--- a/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.h
+++ b/Build/source/texk/dvi2tty/dvi2tty-src/dvi2tty.h
@@ -96,6 +96,7 @@ Copyright (C) 1989-2010 M.J.E. Mol, MESA Consulting B.V."
#if !defined(MSDOS)
#define pipcr 20 /* cannot creat pipe */
#endif
+#define bdfnt 21 /* fail to get font info */
diff --git a/Build/source/texk/dvi2tty/dvi2tty-src/dvistuff.c b/Build/source/texk/dvi2tty/dvi2tty-src/dvistuff.c
index aa767cf45b8..dcb17129c1d 100644
--- a/Build/source/texk/dvi2tty/dvi2tty-src/dvistuff.c
+++ b/Build/source/texk/dvi2tty/dvi2tty-src/dvistuff.c
@@ -1073,6 +1073,7 @@ void dokanji(long ch)
void dochar(unsigned char ch)
{
char flag;
+ if (!fnt) errorexit(bdfnt);
flag = fnt->flags;
if (nttj && fnt->fontnum)