From 339c451ad0e8a743b59fb2bd0589fe9362b45024 Mon Sep 17 00:00:00 2001 From: Shailesh Mistry Date: Fri, 2 Nov 2018 10:10:10 +0100 Subject: [PATCH] [autofit] Prevent SEGV. See https://bugs.ghostscript.com/show_bug.cgi?id=697545 for more details on how the bug was found. * src/autofit/afloader.c (af_loader_load_glyph): Propagate error code. --- ChangeLog | 13 +++++++++++++ src/autofit/afloader.c | 13 +++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 40eb27311..9ac839574 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2018-11-02 Shailesh Mistry + + [autofit] Prevent SEGV. + + See + + https://bugs.ghostscript.com/show_bug.cgi?id=697545 + + for more details on how the bug was found. + + * src/autofit/afloader.c (af_loader_load_glyph): Propagate error + code. + 2018-10-31 Alexei Podtelezhnikov [truetype] Speed up variation IUP. diff --git a/src/autofit/afloader.c b/src/autofit/afloader.c index 301f3772a..406940b33 100644 --- a/src/autofit/afloader.c +++ b/src/autofit/afloader.c @@ -421,10 +421,15 @@ /* now load the slot image into the auto-outline */ /* and run the automatic hinting process */ if ( writing_system_class->style_hints_apply ) - writing_system_class->style_hints_apply( glyph_index, - hints, - &gloader->base.outline, - style_metrics ); + { + error = writing_system_class->style_hints_apply( + glyph_index, + hints, + &gloader->base.outline, + style_metrics ); + if ( error ) + goto Exit; + } /* we now need to adjust the metrics according to the change in */ /* width/positioning that occurred during the hinting process */