From f6c4bdaca5e0d9dfb2dd9794af2e74bbd782f9dc Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Wed, 16 Jun 2010 09:08:58 +0000 Subject: fix omegafonts bug, causing OpenBSD Bus error git-svn-id: svn://tug.org/texlive/trunk@19002 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/omegafonts/ChangeLog | 6 ++++++ Build/source/texk/web2c/omegafonts/char_routines.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'Build/source/texk/web2c') diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog index 5aeb2dac062..798393b2cad 100644 --- a/Build/source/texk/web2c/omegafonts/ChangeLog +++ b/Build/source/texk/web2c/omegafonts/ChangeLog @@ -1,3 +1,9 @@ +2010-06-16 Peter Breitenlohner + + * char_routines.c (ensure_existence): Avoid OpenBSD Bus error + caused by faulty logic. + Reported by Edd Barrett, 10 Jun 2010 13:33:03. + 2010-03-01 Peter Breitenlohner * char_routines.c (check_existence_all_character_fields): diff --git a/Build/source/texk/web2c/omegafonts/char_routines.c b/Build/source/texk/web2c/omegafonts/char_routines.c index ecb1699e0d2..87e6d7f553e 100644 --- a/Build/source/texk/web2c/omegafonts/char_routines.c +++ b/Build/source/texk/web2c/omegafonts/char_routines.c @@ -185,7 +185,8 @@ ensure_existence(unsigned c) plane = c / PLANE; index = c % PLANE; - if ((plane>plane_max) || (planes[plane]==NULL) || (planes[plane][index]==NULL)) { + if ((plane>plane_max) || (planes[plane]==NULL) || + (index>char_max[plane]) || (planes[plane][index]==NULL)) { init_character(c, NULL); planes[plane][index]->defined = FALSE; } -- cgit v1.2.3