diff options
author | Werner Lemberg <wl@gnu.org> | 2019-04-23 06:49:56 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2019-04-23 06:49:56 +0200 |
commit | 4166c453601e856fa61e8994085f240d8771e980 (patch) | |
tree | f7c86b3547354a1d2da2a6b27ef9a4285bac417d | |
parent | 9f6ed10545b1009cce86289f793165dd7e4b7c9e (diff) | |
download | freetype2-4166c453601e856fa61e8994085f240d8771e980.tar.gz |
[base] Fix thinko in previous commit.
* src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not
target pitch.
Problem reported by Sender Ghost <lightside@gmx.com>.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/base/ftbitmap.c | 20 |
2 files changed, 19 insertions, 10 deletions
@@ -1,3 +1,12 @@ +2019-04-23 Werner Lemberg <wl@gnu.org> + + [base] Fix thinko in previous commit. + + * src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not + target pitch. + + Problem reported by Sender Ghost <lightside@gmx.com>. + 2019-04-22 Werner Lemberg <wl@gnu.org> * 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; |