summaryrefslogtreecommitdiff
path: root/src/font.c
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>2002-11-21 19:06:43 +0000
committerMichael Jennings <mej@kainx.org>2002-11-21 19:06:43 +0000
commitb93dddf7739b5fc01847bd85695d65f2e04c4718 (patch)
tree1e49753a96522008b17b16e67076153878c37ef3 /src/font.c
parent6d1597926e9a99ddfd0ed45e851539e299073543 (diff)
downloadeterm-b93dddf7739b5fc01847bd85695d65f2e04c4718.tar.gz
Thu Nov 21 14:03:23 2002 Michael Jennings (mej)
Fix for Debian Bug #169933, seg fault with invalid default font index. SVN revision: 6456
Diffstat (limited to 'src/font.c')
-rw-r--r--src/font.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/font.c b/src/font.c
index 3728ccb..4c6b250 100644
--- a/src/font.c
+++ b/src/font.c
@@ -458,8 +458,12 @@ change_font(int init, const char *fontname)
D_FONT(("change_font(%d, \"%s\"): def_font_idx == %u, font_idx == %u\n", init, NONULL(fontname), (unsigned int) def_font_idx, (unsigned int) font_idx));
if (init) {
- font_idx = def_font_idx;
ASSERT(etfonts != NULL);
+ if ((def_font_idx >= font_cnt) || (etfonts[def_font_idx] == NULL)) {
+ def_font_idx = font_idx;
+ } else {
+ font_idx = def_font_idx;
+ }
ASSERT(etfonts[font_idx] != NULL);
#ifdef MULTI_CHARSET
ASSERT(etmfonts != NULL);