diff --git a/ChangeLog b/ChangeLog index 2ba5d12c5..3e7603039 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-05-09 George Williams + + * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix + error handling. + 2004-05-07 Werner Lemberg * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init, diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 09f06b851..820eeb1ec 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -294,7 +294,7 @@ if ( version != 0x00010000L || axisCount != (FT_Long)blend->mmvar->num_axis ) - return; + goto Exit; if ( FT_NEW_ARRAY( blend->avar_segment, axisCount ) ) goto Exit; @@ -1451,9 +1451,6 @@ FT_Stream_SeekSet( stream, here ); } - FT_FRAME_EXIT(); - goto Exit; - Fail3: FT_FREE( tuple_coords ); FT_FREE( im_start_coords ); @@ -1463,8 +1460,11 @@ FT_FRAME_EXIT(); Fail1: - FT_FREE( delta_xy ); - *deltas = NULL; + if ( error ) + { + FT_FREE( delta_xy ); + *deltas = NULL; + } Exit: return error;