summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2018-11-19 13:09:53 -0500
committerBehdad Esfahbod <behdad@behdad.org>2018-11-19 13:09:53 -0500
commit56c9238d3da8c034336cf80ba37e03e33c493718 (patch)
tree797ce9d530693924ea1fa7e0c05722ed8b6f358d
parent4a6a692e3ea4fab632a0162c6d513dc151054d8f (diff)
[fvar] Rewrite sanitize
-rw-r--r--src/hb-ot-var-fvar-table.hh8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/hb-ot-var-fvar-table.hh b/src/hb-ot-var-fvar-table.hh
index b4fdd5fa..99d2fd5c 100644
--- a/src/hb-ot-var-fvar-table.hh
+++ b/src/hb-ot-var-fvar-table.hh
@@ -101,12 +101,10 @@ struct fvar
return_trace (version.sanitize (c) &&
likely (version.major == 1) &&
c->check_struct (this) &&
+ axisSize == 20 && /* Assumed in our code. */
instanceSize >= axisCount * 4 + 4 &&
- axisSize <= 1024 && /* Arbitrary, just to simplify overflow checks. */
- instanceSize <= 1024 && /* Arbitrary, just to simplify overflow checks. */
- c->check_range (this, firstAxis) &&
- c->check_range (&StructAtOffset<char> (this, firstAxis),
- axisCount * axisSize + instanceCount * instanceSize));
+ get_axes ().sanitize (c) &&
+ c->check_range (get_first_instance (), instanceCount, instanceSize));
}
inline unsigned int get_axis_count (void) const