Fix sign of shift operators
authorBehdad Esfahbod <behdad@behdad.org>
Tue, 9 Aug 2016 00:24:04 +0000 (17:24 -0700)
committerBehdad Esfahbod <behdad@behdad.org>
Tue, 9 Aug 2016 00:28:14 +0000 (17:28 -0700)
commit333173103bb618f721bd25d0c565a3c3c9ea224e
tree05844724c9bbf19c593a6e501b84b90052f806fd
parent10a0d4aa2254f783758bb908175047df3a0b41fe
Fix sign of shift operators

This one:

  map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);

before the fix, the shift was done as an int, causing overflow
if it ever got to 1 << 31.  Sprinkle 'u's around.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
src/hb-buffer-private.hh
src/hb-cache-private.hh
src/hb-coretext.cc
src/hb-directwrite.cc
src/hb-face.cc
src/hb-font.cc
src/hb-ft.cc
src/hb-ot-map.cc
src/hb-set-private.hh
src/hb-uniscribe.cc