diff --git a/ChangeLog b/ChangeLog index 7069363ca..78b872b25 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-06-06 Werner Lemberg + + * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'. + 2007-06-05 Werner Lemberg * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code. diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c index 2a35659e1..6926f3a09 100644 --- a/src/base/ftoutln.c +++ b/src/base/ftoutln.c @@ -83,7 +83,9 @@ FT_Int last; /* index of last point in contour */ - last = outline->contours[n]; + last = outline->contours[n]; + if ( last < 0 ) + goto Invalid_Outline; limit = outline->points + last; v_start = outline->points[first];