[HarfBuzz] harfbuzz: Branch 'master' - 2 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Wed Oct 31 20:22:23 UTC 2018
src/hb-blob.hh | 2 +-
src/hb-ot-color-sbix-table.hh | 6 ------
src/hb-ot-glyf-table.hh | 3 ++-
3 files changed, 3 insertions(+), 8 deletions(-)
New commits:
commit 995bf6c6f82d6b2dabcb81e1426910ee82b91b44
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Oct 31 13:21:33 2018 -0700
[sbix] Rely on blob->as<> checking size against Type::min_size
diff --git a/src/hb-ot-color-sbix-table.hh b/src/hb-ot-color-sbix-table.hh
index 4feb4e19..065c0dd1 100644
--- a/src/hb-ot-color-sbix-table.hh
+++ b/src/hb-ot-color-sbix-table.hh
@@ -243,12 +243,6 @@ struct sbix
unsigned int strike_ppem = 0;
hb_blob_t *blob = reference_png (font, glyph, &x_offset, &y_offset, &strike_ppem);
- if (unlikely (blob->length < sizeof (PNGHeader)))
- {
- hb_blob_destroy (blob);
- return false;
- }
-
const PNGHeader &png = *blob->as<PNGHeader>();
extents->x_bearing = x_offset;
commit 4d4e526b5cc703111eb445b7e319a4cd1917489f
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Oct 31 13:19:42 2018 -0700
Improve blob->as<>
It's true that blob->as<> should only be called on null or sanitized
data. But this change is safe, so keep it.
diff --git a/src/hb-blob.hh b/src/hb-blob.hh
index 26e2dd70..0181e94a 100644
--- a/src/hb-blob.hh
+++ b/src/hb-blob.hh
@@ -60,7 +60,7 @@ struct hb_blob_t
template <typename Type>
inline const Type* as (void) const
{
- return unlikely (!data) ? &Null(Type) : reinterpret_cast<const Type *> (data);
+ return length < Type::min_size ? &Null(Type) : reinterpret_cast<const Type *> (data);
}
inline hb_bytes_t as_bytes (void) const
{
diff --git a/src/hb-ot-glyf-table.hh b/src/hb-ot-glyf-table.hh
index 9437a83d..7bd175e3 100644
--- a/src/hb-ot-glyf-table.hh
+++ b/src/hb-ot-glyf-table.hh
@@ -55,6 +55,7 @@ struct loca
protected:
UnsizedArrayOf<HBUINT8> dataZ; /* Location data. */
+ public:
DEFINE_SIZE_ARRAY (0, dataZ);
};
@@ -484,7 +485,7 @@ struct glyf
protected:
UnsizedArrayOf<HBUINT8> dataZ; /* Glyphs data. */
-
+ public:
DEFINE_SIZE_ARRAY (0, dataZ);
};
More information about the HarfBuzz
mailing list