From 3d5f300f0ccdbdcdf4e101757f06d6201856fd02 Mon Sep 17 00:00:00 2001 From: Parth Wazurkar Date: Wed, 1 Aug 2018 00:28:10 +0530 Subject: [pk] Improve error handling. * src/pk/pklib.c(pk_load_font): Do it. --- src/pk/pklib.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/pk/pklib.c b/src/pk/pklib.c index 761c02272..09a62e507 100644 --- a/src/pk/pklib.c +++ b/src/pk/pklib.c @@ -306,7 +306,6 @@ unsigned char bits_table[] = { pre = READ_UINT1( stream ); if (pre != PK_PRE) { - FT_ERROR(( "pk_load_font: missing PK_PRE(247) field\n" )); error = FT_THROW( Unknown_File_Format ); goto Exit; } @@ -314,7 +313,6 @@ unsigned char bits_table[] = { id = READ_UINT1( stream ); if (id != PK_ID) { - FT_ERROR(( "pk_load_font: missing PK_ID(89) field\n" )); error = FT_THROW( Unknown_File_Format ); goto Exit; } @@ -512,7 +510,7 @@ unsigned char bits_table[] = { if (pk_read_14(stream, dny_f, bw, rs, &(go->bm_table[index]), cc) < 0) { /* vf_error = VF_ERR_ILL_FONT_FILE; (FOR TRACING) */ - error = FT_THROW( Invalid_File_Format ); + error = FT_THROW( Unknown_File_Format ); goto Exit; } } @@ -521,7 +519,7 @@ unsigned char bits_table[] = { if (pk_read_n14(stream, dny_f, bw, rs, &(go->bm_table[index]), cc) < 0) { /* vf_error = VF_ERR_ILL_FONT_FILE; (FOR TRACING) */ - error = FT_THROW( Invalid_File_Format ); + error = FT_THROW( Unknown_File_Format ); goto Exit; } } @@ -539,13 +537,16 @@ unsigned char bits_table[] = { return error; Exit: - for (i = 0; i < nchars; i++) + if (go != NULL) { - if (go->bm_table[i].bitmap != NULL) - FT_FREE(go->bm_table[i].bitmap); + for (i = 0; i < nchars; i++) + { + if (go->bm_table[i].bitmap != NULL) + FT_FREE(go->bm_table[i].bitmap); + } + FT_FREE(go->bm_table); + FT_FREE(go); } - FT_FREE(go->bm_table); - FT_FREE(go); return error; } -- cgit v1.2.1