diff options
-rw-r--r-- | base/gxttfb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/base/gxttfb.c b/base/gxttfb.c index 0e9a444e5..e1561af07 100644 --- a/base/gxttfb.c +++ b/base/gxttfb.c @@ -79,7 +79,8 @@ static void gx_ttfReader__Read(ttfReader *self, void *p, int n) if (!r->error) { if (r->extra_glyph_index != -1) { q = r->glyph_data.bits.data + r->pos; - r->error = (r->glyph_data.bits.size - r->pos < n ? + r->error = ((r->pos >= r->glyph_data.bits.size || + r->glyph_data.bits.size - r->pos < n) ? gs_note_error(gs_error_invalidfont) : 0); if (r->error == 0) memcpy(p, q, n); |