src/hb-open-file.hh | 8 ++++---- src/hb-open-type.hh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-)
New commits: commit f8ccb545c47abe8f0f4ed318ff7b5bf176913893 Author: Behdad Esfahbod <beh...@behdad.org> Date: Fri Sep 14 18:59:53 2018 +0200 [dfont] Disable null-processsing for offsets An offset to unsized arrayis not safe to be redirected to our fixed-sized null pool. Plus, we want to reject, not repair, bad-looking dfonts. diff --git a/src/hb-open-file.hh b/src/hb-open-file.hh index 38610a8e..8772c79f 100644 --- a/src/hb-open-file.hh +++ b/src/hb-open-file.hh @@ -348,7 +348,7 @@ struct ResourceTypeRecord protected: Tag tag; /* Resource type. */ HBUINT16 resCountM1; /* Number of resources minus 1. */ - OffsetTo<UnsizedArrayOf<ResourceRecord> > + OffsetTo<UnsizedArrayOf<ResourceRecord>, HBUINT16, false> resourcesZ; /* Offset from beginning of resource type list * to reference item list for this type. */ public: @@ -404,7 +404,7 @@ struct ResourceMap HBUINT32 reserved1; /* Reserved for handle to next resource map */ HBUINT16 resreved2; /* Reserved for file reference number */ HBUINT16 attrs; /* Resource fork attribute */ - OffsetTo<ArrayOfM1<ResourceTypeRecord> > + OffsetTo<ArrayOfM1<ResourceTypeRecord>, HBUINT16, false> typeList; /* Offset from beginning of map to * resource type list */ Offset16 nameList; /* Offset from beginning of map to @@ -436,10 +436,10 @@ struct ResourceForkHeader } protected: - LOffsetTo<UnsizedArrayOf<HBUINT8> > + LOffsetTo<UnsizedArrayOf<HBUINT8>, false> data; /* Offset from beginning of resource fork * to resource data */ - LOffsetTo<ResourceMap> + LOffsetTo<ResourceMap, false> map; /* Offset from beginning of resource fork * to resource map */ HBUINT32 dataLen; /* Length of resource data */ diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh index 4f16c7d3..2e1e240c 100644 --- a/src/hb-open-type.hh +++ b/src/hb-open-type.hh @@ -311,7 +311,7 @@ struct OffsetTo : Offset<OffsetType, has_null> } DEFINE_SIZE_STATIC (sizeof(OffsetType)); }; -template <typename Type> struct LOffsetTo : OffsetTo<Type, HBUINT32> {}; +template <typename Type, bool has_null=true> struct LOffsetTo : OffsetTo<Type, HBUINT32, has_null> {}; template <typename Base, typename OffsetType, bool has_null, typename Type> static inline const Type& operator + (const Base &base, const OffsetTo<Type, OffsetType, has_null> &offset) { return offset (base); } template <typename Base, typename OffsetType, bool has_null, typename Type> _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz