diff options
Diffstat (limited to 'Build/source/texk/web2c/mplibdir/mp.w')
-rw-r--r-- | Build/source/texk/web2c/mplibdir/mp.w | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Build/source/texk/web2c/mplibdir/mp.w b/Build/source/texk/web2c/mplibdir/mp.w index adea5f18f17..4d48514a1d7 100644 --- a/Build/source/texk/web2c/mplibdir/mp.w +++ b/Build/source/texk/web2c/mplibdir/mp.w @@ -33232,9 +33232,15 @@ We may need to cancel skips that span more than 127 lig/kern steps. @ The header could contain ASCII zeroes, so can't use |strdup|. +The index |j| can be beyond the index |header_last|, hence we +have to sure to update the end of stream marker to reflect the +actual position. @<Store a list of header bytes@>= j--; +if (mp->header_last<j){ + mp->header_last=j; +} do { if (j >= mp->header_size) { size_t l = (size_t) (mp->header_size + (mp->header_size / 4)); @@ -33246,8 +33252,10 @@ do { mp->header_size = (int) l; } mp->header_byte[j] = (char) mp_get_code (mp); + if (mp->header_last<j){ + incr (mp->header_last); + } incr (j); - incr (mp->header_last); } while (cur_cmd() == mp_comma) @ @<Store a list of font dimensions@>= |