Fix a signed shift overflow in vpx_rb_read_inv_signed_literal.
Found with clang -fsanitize=integer Change-Id: I17cb2166c06ff463abfaf9b0e6bc749d0d6fdf94
This commit is contained in:
parent
b1fcd1751e
commit
42b7c44b2f
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user