summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sfnt.c20
-rw-r--r--src/sfnt.h2
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];