diff options
author | Werner Lemberg <wl@gnu.org> | 2016-07-19 07:06:19 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2016-07-19 07:06:19 +0200 |
commit | e69f34b1e2023f66201b557a35fc48d81fb6a874 (patch) | |
tree | 2e82a70dfe78dc19cdd1e2f0e59dc5b2f6d40b1c | |
parent | a3b70d76bae970799f700d295cdf61bd954353a9 (diff) | |
download | freetype2-e69f34b1e2023f66201b557a35fc48d81fb6a874.tar.gz |
[truetype] Sanitizer fix.
* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
to fix nested loops.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/truetype/ttgxvar.c | 7 |
2 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,10 @@ +2016-07-19 Werner Lemberg <wl@gnu.org> + + [truetype] Sanitizer fix. + + * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array + to fix nested loops. + 2016-07-18 Werner Lemberg <wl@gnu.org> [truetype] Make GETDATA work only for GX fonts. diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 7c85d6262..37157962e 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -158,13 +158,16 @@ return NULL; } - if ( FT_NEW_ARRAY( points, n ) ) + /* in the nested loops below we increase `i' twice; */ + /* it is faster to simply allocate one more slot */ + /* than to add another test within the loop */ + if ( FT_NEW_ARRAY( points, n + 1 ) ) return NULL; *point_cnt = n; first = 0; - i = 0; + i = 0; while ( i < n ) { runcnt = FT_GET_BYTE(); |