]> granicus.if.org Git - libvpx/commitdiff
bitreader/writer: Change shift to signed
authorAlex Converse <aconverse@google.com>
Thu, 19 Nov 2015 23:07:55 +0000 (15:07 -0800)
committerAlex Converse <aconverse@google.com>
Thu, 19 Nov 2015 23:13:39 +0000 (15:13 -0800)
Silences several legal but suspicious unsigned overflows found with
clang -fsanitize=integer.

Change-Id: I69399751492a183167932b0a10751c433c32ca7b

vpx_dsp/bitreader.h
vpx_dsp/bitwriter.h

index e817c8b0cc4911c6a14f7078757efbbd2eaa4975..9a441b41077e6b4100b746168dddef7bcd74cbf6 100644 (file)
@@ -98,7 +98,7 @@ static INLINE int vpx_read(vpx_reader *r, int prob) {
   }
 
   {
-    register unsigned int shift = vpx_norm[range];
+    register int shift = vpx_norm[range];
     range <<= shift;
     value <<= shift;
     count -= shift;
index f6ca9b916f98b32f1c1baa211f5f674cd1f152fd..d904997af309ffcd36c0295c2d21c551a7cc35cb 100644 (file)
@@ -35,7 +35,7 @@ static INLINE void vpx_write(vpx_writer *br, int bit, int probability) {
   int count = br->count;
   unsigned int range = br->range;
   unsigned int lowvalue = br->lowvalue;
-  register unsigned int shift;
+  register int shift;
 
   split = 1 + (((range - 1) * probability) >> 8);