Commit d8ef726611459a40e4e27a6602855bc27535a548

Werner Lemberg 2016-09-02T23:27:50

[sfnt] Avoid left shift of negative value (#48980). * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned constant.

diff --git a/ChangeLog b/ChangeLog
index f786a8a..e998fa7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,11 @@
-2016-09-02  Werner Lemberg  <wl@gnu.org>.
+2016-09-02  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Avoid left shift of negative value (#48980).
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned
+	constant.
+
+2016-09-02  Werner Lemberg  <wl@gnu.org>
 
 	* src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings.
 
diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c
index 5b7a123..36c261d 100644
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -881,7 +881,7 @@
         }
 
         *pwrite++ |= ( ( rval >> nbits ) & 0xFF ) &
-                     ( ~( 0xFF << w ) << ( 8 - w - x_pos ) );
+                     ( ~( 0xFFU << w ) << ( 8 - w - x_pos ) );
         rval     <<= 8;
 
         w = line_bits - w;