atrac3: avoid oversized shifting in decode_bytes()
authorXi Wang <xi.wang@gmail.com>
Fri, 15 Mar 2013 10:31:21 +0000 (06:31 -0400)
committerReinhard Tartler <siretart@tauware.de>
Thu, 9 May 2013 09:29:05 +0000 (11:29 +0200)
commit78889be3fb4b78a980de283a80a6eabb307db882
treec60a23674751044c8b424c433477dfbf6256cce1
parentc65763a2c677d75388828b9411a69e95bd3ab7af
atrac3: avoid oversized shifting in decode_bytes()

When `off' is 0, `0x537F6103 << 32' in the following expression invokes
undefined behavior, the result of which is not necessarily 0.

    (0x537F6103 >> (off * 8)) | (0x537F6103 << (32 - (off * 8)))

Avoid oversized shifting.

CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit eba1ff31304e407db3cefd7532108408f364367b)

Conflicts:
libavcodec/atrac3.c
libavcodec/atrac3.c