|
From: | Johnson Y. Yan |
Subject: | [ft-devel] Freetype render issue |
Date: | Sun, 9 Dec 2012 00:20:41 +0800 |
Hi,
/* the `eexec' keyword); if they all are hexadecimal digits, then
*/
/* we have a case of ASCII storage */
- if ( ft_isxdigit( cur[0] ) && ft_isxdigit( cur[1] )
&&
+ if ( cur + 3 < limit &&
+ ft_isxdigit( cur[0] ) && ft_isxdigit( cur[1] )
&&
ft_isxdigit( cur[2] ) && ft_isxdigit( cur[3] ) )
{
/* ASCII hexadecimal encoding */
The code seems to make some side effects,
attachment is the test file, it renders error.
May be need
to reset the limit pointer:
t1parser.c:
line 395:
Found:
parser->root.limit = parser->base_dict + parser->base_len;
T1_Skip_PS_Token( parser );
cur = parser->root.cursor;
limit = parser->root.limit;
....
Please help to check.
Thanks.
Johnson Y. Yan
This
email may contain information which is privileged, confidential, legally
privileged, and/or exempt from disclosure under applicable law. If you are not
the intended recipient, you are hereby notified that any disclosure, copying,
distribution, or use of the information contained herein (including any reliance
thereon) is strictly prohibited. It is also the sole responsibility of the
recipient to ensure that the email is virus free and no responsibility is
accepted by Foxit Corporation, as applicable, for any loss or damage arising in
any way from using this email. If you received this email in error, please
immediately contact the sender and destroy the material in its
entirety. |
text_t1.pdf
Description: Binary data
[Prev in Thread] | Current Thread | [Next in Thread] |