Correct order for alignment in name iterator record.
authorbungeman <bungeman@google.com>
Mon, 18 Aug 2014 15:07:44 +0000 (08:07 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 18 Aug 2014 15:07:44 +0000 (08:07 -0700)
We must be quite careful about the order of fields in a 'pragma pack(1)'.
On Android the order 'uint16_t, void*' will misalign the pointer,
potentially leading to a crash.

In the future we should move anything which is not strictly part of the
table definition outside of the packed region.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/474313002

src/sfnt/SkOTTable_name.h

index f3dae40..ab38d72 100644 (file)
@@ -560,9 +560,9 @@ struct SkOTTableName {
         }
 
         struct Record {
-            SK_OT_USHORT type;
             SkString name;
             SkString language;
+            SK_OT_USHORT type;
         };
         bool next(Record&);