* src/raster/ftraster.c (ft_black_render): Check `outline' before using it. Reported by Allan Yang.
diff --git a/ChangeLog b/ChangeLog
index 1b7fcff..69263fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-16 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (ft_black_render): Check `outline' before
+ using it. Reported by Allan Yang.
+
2008-01-12 Werner Lemberg <wl@gnu.org>
* src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
diff --git a/src/raster/ftraster.c b/src/raster/ftraster.c
index 814912d..9a96fb8 100644
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -3321,11 +3321,14 @@ static const char count_table[256] =
if ( !raster || !raster->buffer || !raster->buffer_size )
return Raster_Err_Not_Ini;
+ if ( !outline )
+ return Raster_Err_Invalid;
+
/* return immediately if the outline is empty */
if ( outline->n_points == 0 || outline->n_contours <= 0 )
return Raster_Err_None;
- if ( !outline || !outline->contours || !outline->points )
+ if ( !outline->contours || !outline->points )
return Raster_Err_Invalid;
if ( outline->n_points != outline->contours[outline->n_contours - 1] + 1 )