summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Wagner <bungeman@chromium.org>2022-06-13 15:28:00 -0400
committerBen Wagner <bungeman@chromium.org>2022-06-13 15:32:28 -0400
commit58395dd20040d8026edaf0e5a71f1ea782857deb (patch)
tree648693ec89c15edffb0365bfb8da0726c557d3c2
parent8b6bcc92c5907cfad9e20b1b7bfaef96e2d93ebf (diff)
downloadfreetype2-58395dd20040d8026edaf0e5a71f1ea782857deb.tar.gz
[woff] Don't allocate table entries until needed
* src/sfnt/sfwoff.c (woff_open_font): delay allocating space for the table entries until they are actually written out with the data.
-rw-r--r--src/sfnt/sfwoff.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/sfnt/sfwoff.c b/src/sfnt/sfwoff.c
index 54c63c420..3f9dd7a55 100644
--- a/src/sfnt/sfwoff.c
+++ b/src/sfnt/sfwoff.c
@@ -162,8 +162,7 @@
}
/* Don't trust `totalSfntSize' before thorough checks. */
- if ( FT_QALLOC( sfnt, 12 + woff.num_tables * 16UL ) ||
- FT_NEW( sfnt_stream ) )
+ if ( FT_QALLOC( sfnt, 12 ) || FT_NEW( sfnt_stream ) )
goto Exit;
sfnt_header = sfnt;
@@ -328,9 +327,7 @@
}
/* Now use `totalSfntSize'. */
- if ( FT_QREALLOC( sfnt,
- 12 + woff.num_tables * 16UL,
- woff.totalSfntSize ) )
+ if ( FT_QREALLOC( sfnt, 12, woff.totalSfntSize ) )
goto Exit;
sfnt_header = sfnt + 12;