* src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): prevent crashes in Mozilla/FireFox print preview in Ubuntu Hoary
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
diff --git a/ChangeLog b/ChangeLog
index de3b762..1a32225 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-06 David Turner <david@freetype.org>
+
+ * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): prevent crashes
+ in Mozilla/FireFox print preview in Ubuntu Hoary
+
2006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
* src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
@@ -40,7 +45,7 @@
* src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
it needs to be exported for rogue clients.
-
+
* src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
with malformed fonts which have an odd number of blue values (these
are broken according to the specs).
diff --git a/src/cache/ftcmanag.c b/src/cache/ftcmanag.c
index fe4fa02..c07bc32 100644
--- a/src/cache/ftcmanag.c
+++ b/src/cache/ftcmanag.c
@@ -698,6 +698,7 @@
FTC_ScalerRec scaler;
FT_Error error;
FT_Size size;
+ FT_Face face;
scaler.face_id = font->face_id;
@@ -710,14 +711,17 @@
error = FTC_Manager_LookupSize( manager, &scaler, &size );
if ( error )
{
- *aface = NULL;
- *asize = NULL;
+ face = NULL;
+ size = NULL;
}
else
- {
- *aface = size->face;
+ face = size->face;
+
+ if ( aface )
+ *aface = face;
+
+ if ( asize )
*asize = size;
- }
return error;
}