From ccb98061a257ee9db378e34301646d7e05ecc957 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Sun, 24 Aug 2014 21:58:10 +0000 Subject: texk/dvipdfm-x: Fix a bug in type1 handling (by S. Hirata) git-svn-id: svn://tug.org/texlive/trunk@35035 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfm-x/ChangeLog | 5 +++++ Build/source/texk/dvipdfm-x/t1_char.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'Build') diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index 1bf82d03329..453ffc7fa5c 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,8 @@ +2014-08-24 Shunsaku Hirata + + * t1_char.c: Fix a bug in type1 handling reported by Bob Tennent + (http://tug.org/pipermail/tex-live/2014-June/035580.html). + 2014-08-22 TANAKA Takuji * error.h: Allow Unicode messages on Windows console. diff --git a/Build/source/texk/dvipdfm-x/t1_char.c b/Build/source/texk/dvipdfm-x/t1_char.c index cb8145e6424..c935e027668 100644 --- a/Build/source/texk/dvipdfm-x/t1_char.c +++ b/Build/source/texk/dvipdfm-x/t1_char.c @@ -1141,7 +1141,7 @@ do_postproc (t1_chardesc *cd) if ((b).lly > (y)) (b).lly = (y);\ if ((b).ury < (y)) (b).ury = (y);\ } while (0) -#define TRY_COMPACT (prev && cur && ((prev->num_args + cur->num_args) <= CS_ARG_STACK_MAX)) +#define TRY_COMPACT (prev && cur && ((prev->num_args + cur->num_args) < CS_ARG_STACK_MAX)) while (cur != NULL) { next = cur->next; @@ -1405,7 +1405,7 @@ t1char_encode_charpath (t1_chardesc *cd, put_numbers(stem, 2, &dst, endptr); CHECK_STATUS(); reset = 0; - if (2*num_hstems == CS_ARG_STACK_MAX) { + if (2*num_hstems > CS_ARG_STACK_MAX - 3) { CHECK_BUFFER(1); *dst++ = (card8) ((cd->flags & T1_CS_FLAG_USE_HINTMASK) ? cs_hstemhm : cs_hstem); reset = 1; @@ -1426,7 +1426,7 @@ t1char_encode_charpath (t1_chardesc *cd, put_numbers(stem, 2, &dst, endptr); CHECK_STATUS(); reset = 0; - if (2*num_vstems == CS_ARG_STACK_MAX) { + if (2*num_vstems > CS_ARG_STACK_MAX - 3) { CHECK_BUFFER(1); *dst++ = (card8) ((cd->flags & T1_CS_FLAG_USE_HINTMASK) ? cs_vstemhm : cs_vstem); reset = 1; -- cgit v1.2.3