diff options
author | mlugg <mlugg@mlugg.co.uk> | 2022-09-29 18:38:06 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2022-09-29 20:44:41 +0200 |
commit | 905270925dd0492ba557e58938e5513f062e6fc5 (patch) | |
tree | 3d826bfe9e3df6d580943dd022dd95ee72de7692 | |
parent | ff66e912d0901fbaa69b0e5be0d132aa58c6147f (diff) | |
download | freetype2-905270925dd0492ba557e58938e5513f062e6fc5.tar.gz |
[truetype] Fix undefined pointer arithmetic.
* src/truetype/ttgxvar.c (tt_var_get_item_delta, ft_var_load_mvar): Use
`FT_OFFSET`.
-rw-r--r-- | src/truetype/ttgxvar.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 963ce417e..3c918caa2 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -966,7 +966,8 @@ /* in the OpenType specification. */ varData = &itemStore->varData[outerIndex]; - deltaSet = &varData->deltaSet[varData->regionIdxCount * innerIndex]; + deltaSet = FT_OFFSET( varData->deltaSet, + varData->regionIdxCount * innerIndex ); if ( FT_QNEW_ARRAY( scalars, varData->regionIdxCount ) ) return 0; @@ -1353,7 +1354,7 @@ return; value = blend->mvar_table->values; - limit = value + blend->mvar_table->valueCount; + limit = FT_OFFSET( value, blend->mvar_table->valueCount ); itemStore = &blend->mvar_table->itemStore; for ( ; value < limit; value++ ) @@ -1386,7 +1387,7 @@ FT_TRACE2(( "loaded\n" )); value = blend->mvar_table->values; - limit = value + blend->mvar_table->valueCount; + limit = FT_OFFSET( value, blend->mvar_table->valueCount ); /* save original values of the data MVAR is going to modify */ for ( ; value < limit; value++ ) @@ -1451,7 +1452,7 @@ return; value = blend->mvar_table->values; - limit = value + blend->mvar_table->valueCount; + limit = FT_OFFSET( value, blend->mvar_table->valueCount ); for ( ; value < limit; value++ ) { |