From 06842c7b49c21f13c0ab61201daab6ff5a358fcc Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sat, 13 Dec 2014 07:42:51 +0100 Subject: [PATCH] * src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08. --- ChangeLog | 4 ++++ src/pcf/pcfread.c | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index e10444f99..03cbfc091 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-12-13 Werner Lemberg + + * src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08. + 2014-12-11 Werner Lemberg * builds/toplevel.mk (dist): Use older POSIX standard for `tar'. diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c index e3caf829b..a29a9e371 100644 --- a/src/pcf/pcfread.c +++ b/src/pcf/pcfread.c @@ -192,14 +192,15 @@ THE SOFTWARE. tables++; } - /* no check of `tables->size' for last table element ... */ + /* only check `tables->offset' for last table element ... */ if ( ( tables->offset > size ) ) { error = FT_THROW( Invalid_Table ); goto Exit; } - /* ... instead, we adjust `tables->size' to the real value */ - tables->size = size - tables->offset; + /* ... and adjust `tables->size' to the real value if necessary */ + if ( tables->size > size - tables->offset ) + tables->size = size - tables->offset; #ifdef FT_DEBUG_LEVEL_TRACE