|
Quick Lists
|
|
Bug ID:
|
4755211
|
|
Votes
|
0
|
|
Synopsis
|
Java2D font scaler has memory alignment bug in TrueType hinting code.
|
|
Category
|
java:classes_2d
|
|
Reported Against
|
1.4
, merlin-beta
|
|
Release Fixed
|
1.4.1_03
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
4390699
,
4482430
|
|
Submit Date
|
29-SEP-2002
|
|
Description
|
This is once of the causes of bug
4482430: Unexpected exception from NativeFontWrapper.registerFonts
Several fonts we have found trigger a specific problem in the rasteriser.
|
|
Work Around
|
N/A
|
|
Evaluation
|
In the TT hinting code a buffer is allocated sufficient to hold several
arrays of data which represent information about points and contours of
a glyph outline. The arrays hold data of 1,2 and 4 byte quantities.
Unfortunately the number of byte needed was calculated without any
regard for address alignment requirements, and in particular
an array of 4 byte data was right after an array of 1 byte data.
Thus it was necessary to add the needed padding for this case.
The code is inherently vulnerable to such things but it was sufficient
to fix this one case.
The structure is fnt_ElementType defined in Fnt.c
GlyphOutline.c is where the storage is calculated (ComputeElementSizes)
and SetElementPointers is the function which sets the pointers to locations
within a buffer allocated to hold that amount of storage.
xxxxx@xxxxx 2002-09-29
============================
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |