genunifont: fix MAX_DATA_SIZE to be in 8bit range
authorDavid Herrmann <dh.herrmann@gmail.com>
Fri, 18 Oct 2013 15:59:34 +0000 (17:59 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Fri, 18 Oct 2013 15:59:34 +0000 (17:59 +0200)
We only use uint8_t as length-counter so MAX_DATA_SIZE must be <256 to
make our length-checks work. This fixes a bug where we read invalid data
if someone uses modified genunifont data files. As this just produces
garbled glyphs if garbled data is given, this is actually not critical at
all.

Reported-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
src/genunifont.c

index feaa3f4..f98640e 100644 (file)
@@ -36,7 +36,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#define MAX_DATA_SIZE 512
+#define MAX_DATA_SIZE 255
 
 struct unifont_glyph {
        struct unifont_glyph *next;