vpx_ports/mem_ops.h: cast the lhs of bitwise shifts of 24.
C does not allow for shifting into the sign bit of a signed integer, and the two instances here become signed ints via promotion. Explcitly cast them to unsigned MEM_VALUE_T to avoid the problem. BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=614648 Change-Id: I51165361a8c6cbb5c378cf7e4e0f4b80b3ad9a6e
This commit is contained in:
parent
0ba9b299e9
commit
f1de622617
@ -89,7 +89,7 @@ static unsigned MEM_VALUE_T mem_get_be32(const void *vmem) {
|
||||
unsigned MEM_VALUE_T val;
|
||||
const MAU_T *mem = (const MAU_T *)vmem;
|
||||
|
||||
val = ((unsigned int)mem[0]) << 24;
|
||||
val = ((unsigned MEM_VALUE_T)mem[0]) << 24;
|
||||
val |= mem[1] << 16;
|
||||
val |= mem[2] << 8;
|
||||
val |= mem[3];
|
||||
@ -125,7 +125,7 @@ static unsigned MEM_VALUE_T mem_get_le32(const void *vmem) {
|
||||
unsigned MEM_VALUE_T val;
|
||||
const MAU_T *mem = (const MAU_T *)vmem;
|
||||
|
||||
val = mem[3] << 24;
|
||||
val = ((unsigned MEM_VALUE_T)mem[3]) << 24;
|
||||
val |= mem[2] << 16;
|
||||
val |= mem[1] << 8;
|
||||
val |= mem[0];
|
||||
|
Loading…
x
Reference in New Issue
Block a user