summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c')
-rw-r--r--Build/source/texk/web2c/omegafonts/ChangeLog6
-rw-r--r--Build/source/texk/web2c/omegafonts/char_routines.c3
2 files changed, 8 insertions, 1 deletions
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 <peb@mppmu.mpg.de>
+
+ * 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 <peb@mppmu.mpg.de>
* 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;
}