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

Reply via email to