diff options
-rw-r--r-- | src/sfnt.c | 20 | ||||
-rw-r--r-- | src/sfnt.h | 2 |
2 files changed, 3 insertions, 19 deletions
diff --git a/src/sfnt.c b/src/sfnt.c index 8598b052044..d909fba7677 100644 --- a/src/sfnt.c +++ b/src/sfnt.c @@ -16650,10 +16650,10 @@ sfnt_read_OS_2_table (int fd, struct sfnt_offset_subtable *subtable) OS_2 = xmalloc (sizeof *OS_2); - /* Read data up to the end of `panose'. */ + /* Read data into the structure. */ - wanted = SFNT_ENDOF (struct sfnt_OS_2_table, panose, - unsigned char[10]); + wanted = SFNT_ENDOF (struct sfnt_OS_2_table, fs_last_char_index, + uint16_t); rc = read (fd, OS_2, wanted); if (rc == -1 || rc != wanted) @@ -16680,20 +16680,6 @@ sfnt_read_OS_2_table (int fd, struct sfnt_offset_subtable *subtable) sfnt_swap16 (&OS_2->y_strikeout_size); sfnt_swap16 (&OS_2->y_strikeout_position); sfnt_swap16 (&OS_2->s_family_class); - - /* Read fields between ul_unicode_range and fs_last_char_index. */ - wanted = (SFNT_ENDOF (struct sfnt_OS_2_table, fs_last_char_index, - uint16_t) - - offsetof (struct sfnt_OS_2_table, ul_unicode_range)); - rc = read (fd, &OS_2->ul_unicode_range, wanted); - - if (rc == -1 || rc != wanted) - { - xfree (OS_2); - return NULL; - } - - /* Swap the remainder and return the table. */ sfnt_swap32 (&OS_2->ul_unicode_range[0]); sfnt_swap32 (&OS_2->ul_unicode_range[1]); sfnt_swap32 (&OS_2->ul_unicode_range[2]); diff --git a/src/sfnt.h b/src/sfnt.h index 444b1dfe427..ecc3876b394 100644 --- a/src/sfnt.h +++ b/src/sfnt.h @@ -1395,8 +1395,6 @@ struct sfnt_OS_2_table /* Microsoft ``panose'' classification. */ unsigned char panose[10]; - /* Alignment boundary! */ - /* Unicode range specification. */ uint32_t ul_unicode_range[4]; |