diff options
author | Werner Lemberg <wl@gnu.org> | 2018-07-16 05:45:45 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2018-07-16 05:47:27 +0200 |
commit | 839cb404cf73f4410d58ebb3a99d16e08f4bdee7 (patch) | |
tree | feb76d2826baae0610dbc2067147560b38eeacd2 | |
parent | 9f15370e564eee41c83ff85bb66ead93517a641b (diff) | |
download | freetype2-839cb404cf73f4410d58ebb3a99d16e08f4bdee7.tar.gz |
* src/truetype/ttgxvar.c (tt_set_mm_blend): Fix off-by-one error.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9412
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/truetype/ttgxvar.c | 7 |
2 files changed, 13 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2018-07-16 Werner Lemberg <wl@gnu.org> + + * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix off-by-one error. + + Reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9412 + 2018-07-12 Werner Lemberg <wl@gnu.org> * src/base/ftoutln.c (FT_Outline_Get_Orientation): Init `cbox'. diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 0937301b0..d143fcefc 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -2533,11 +2533,14 @@ if ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) ) { - FT_UInt idx = (FT_UInt)face->root.face_index >> 16; + FT_UInt instance_index = (FT_UInt)face->root.face_index >> 16; c = blend->normalizedcoords + i; - n = blend->normalized_stylecoords + idx * mmvar->num_axis + i; + n = blend->normalized_stylecoords + + ( instance_index - 1 ) * mmvar->num_axis + + i; + for ( j = i; j < mmvar->num_axis; j++, n++, c++ ) if ( *c != *n ) have_diff = 1; |