diff options
author | Heiko Lewin <hlewin@worldiety.de> | 2021-03-31 12:20:34 +0200 |
---|---|---|
committer | Heiko Lewin <hlewin@worldiety.de> | 2021-03-31 12:20:34 +0200 |
commit | 518ba137794243d1024634449a3e07f72b7b888e (patch) | |
tree | 3a891551b4e4074d3eee369a769be4702ba0bfd8 /src/cairo-type1-subset.c | |
parent | 44f808fce9f437e14f2b0ef4e1583def8ab578ae (diff) | |
download | cairo-518ba137794243d1024634449a3e07f72b7b888e.tar.gz |
Fix undefined left-shifts
Diffstat (limited to 'src/cairo-type1-subset.c')
-rw-r--r-- | src/cairo-type1-subset.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c index 068b59e99..2f04c8e10 100644 --- a/src/cairo-type1-subset.c +++ b/src/cairo-type1-subset.c @@ -222,18 +222,18 @@ cairo_type1_font_subset_find_segments (cairo_type1_font_subset_t *font) font->type1_end = font->type1_data + font->type1_length; if (p[0] == 0x80 && p[1] == 0x01) { font->header_segment_size = - p[2] | (p[3] << 8) | (p[4] << 16) | (p[5] << 24); + p[2] | (p[3] << 8) | (p[4] << 16) | ((uint32_t)p[5] << 24); font->header_segment = (char *) p + 6; p += 6 + font->header_segment_size; font->eexec_segment_size = - p[2] | (p[3] << 8) | (p[4] << 16) | (p[5] << 24); + p[2] | (p[3] << 8) | (p[4] << 16) | ((uint32_t)p[5] << 24); font->eexec_segment = (char *) p + 6; font->eexec_segment_is_ascii = (p[1] == 1); p += 6 + font->eexec_segment_size; while (p < (unsigned char *) (font->type1_end) && p[1] != 0x03) { - size = p[2] | (p[3] << 8) | (p[4] << 16) | (p[5] << 24); + size = p[2] | (p[3] << 8) | (p[4] << 16) | ((uint32_t)p[5] << 24); p += 6 + size; } font->type1_end = (char *) p; @@ -714,7 +714,7 @@ cairo_type1_font_subset_decode_integer (const unsigned char *p, int *integer) *integer = -(p[0] - 251) * 256 - p[1] - 108; p += 2; } else { - *integer = (p[1] << 24) | (p[2] << 16) | (p[3] << 8) | p[4]; + *integer = ((uint32_t)p[1] << 24) | (p[2] << 16) | (p[3] << 8) | p[4]; p += 5; } |