* src/cff/cffgload.c (cff_slot_load): Avoid memory leak. Fixes issue #1204.
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c
index 487cc30..cfa0aaf 100644
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -488,13 +488,14 @@
decoder.builder.no_recurse =
FT_BOOL( load_flags & FT_LOAD_NO_RECURSE );
- /* now load the unscaled outline */
- error = cff_get_glyph_data( face, glyph_index,
- &charstring, &charstring_len );
+ /* this function also checks for a valid subfont index */
+ error = decoder_funcs->prepare( &decoder, size, glyph_index );
if ( error )
goto Glyph_Build_Finished;
- error = decoder_funcs->prepare( &decoder, size, glyph_index );
+ /* now load the unscaled outline */
+ error = cff_get_glyph_data( face, glyph_index,
+ &charstring, &charstring_len );
if ( error )
goto Glyph_Build_Finished;