From 42b7c44b2fa40ff8b070809e79f9931526f5fe52 Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Thu, 19 Nov 2015 15:04:20 -0800 Subject: Fix a signed shift overflow in vpx_rb_read_inv_signed_literal. Found with clang -fsanitize=integer Change-Id: I17cb2166c06ff463abfaf9b0e6bc749d0d6fdf94 --- vpx_dsp/bitreader_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vpx_dsp') diff --git a/vpx_dsp/bitreader_buffer.c b/vpx_dsp/bitreader_buffer.c index bb917263e..d7b55cf9f 100644 --- a/vpx_dsp/bitreader_buffer.c +++ b/vpx_dsp/bitreader_buffer.c @@ -45,7 +45,7 @@ int vpx_rb_read_inv_signed_literal(struct vpx_read_bit_buffer *rb, int bits) { #if CONFIG_MISC_FIXES const int nbits = sizeof(unsigned) * 8 - bits - 1; - const unsigned value = vpx_rb_read_literal(rb, bits + 1) << nbits; + const unsigned value = (unsigned)vpx_rb_read_literal(rb, bits + 1) << nbits; return ((int) value) >> nbits; #else return vpx_rb_read_signed_literal(rb, bits); -- cgit v1.2.3