From 4166c453601e856fa61e8994085f240d8771e980 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Tue, 23 Apr 2019 06:49:56 +0200 Subject: [PATCH] [base] Fix thinko in previous commit. * src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not target pitch. Problem reported by Sender Ghost . --- ChangeLog | 9 +++++++++ src/base/ftbitmap.c | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78b82c93b..92a2556fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2019-04-23 Werner Lemberg + + [base] Fix thinko in previous commit. + + * src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not + target pitch. + + Problem reported by Sender Ghost . + 2019-04-22 Werner Lemberg * src/base/ftbitmap.c (FT_Bitmap_Blend): Check target pitch. diff --git a/src/base/ftbitmap.c b/src/base/ftbitmap.c index 7e5e92d1d..0e0a76fe4 100644 --- a/src/base/ftbitmap.c +++ b/src/base/ftbitmap.c @@ -922,12 +922,18 @@ else FT_TRACE5(( " target bitmap: empty\n" )); - FT_TRACE5(( " final bitmap: (%d, %d) -- (%d, %d); %d x %d\n", - final_llx / 64, final_lly / 64, - final_urx / 64, final_ury / 64, - final_width, final_rows )); + if ( final_width && final_rows ) + FT_TRACE5(( " final bitmap: (%d, %d) -- (%d, %d); %d x %d\n", + final_llx / 64, final_lly / 64, + final_urx / 64, final_ury / 64, + final_width, final_rows )); + else + FT_TRACE5(( " final bitmap: empty\n" )); #endif /* FT_DEBUG_LEVEL_TRACE */ + if ( !( final_width && final_rows ) ) + return FT_Err_Ok; /* nothing to do */ + /* for blending, set offset vector of final bitmap */ /* temporarily to (0,0) */ source_llx -= final_llx; @@ -971,12 +977,6 @@ pitch = target->pitch; - if ( !pitch ) - { - FT_TRACE5(( "FT_Blend_Bitmap:" - " zero target bitmap pitch is invalid\n" )); - return FT_THROW( Invalid_Argument ); - } if ( pitch < 0 ) pitch = -pitch;