提交 e211e255 编写于 作者: P Peter Ross 提交者: Ronald S. Bultje

bink: prevent overflows within binkidct by using int-sized intermediate array

Signed-off-by: NRonald S. Bultje <rsbultje@gmail.com>
上级 588a3ffd
......@@ -62,7 +62,7 @@
#define MUNGE_ROW(x) (((x) + 0x7F)>>8)
#define IDCT_ROW(dest,src) IDCT_TRANSFORM(dest,0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,MUNGE_ROW,src)
static inline void bink_idct_col(DCTELEM *dest, const DCTELEM *src)
static inline void bink_idct_col(int *dest, const DCTELEM *src)
{
if ((src[8]|src[16]|src[24]|src[32]|src[40]|src[48]|src[56])==0) {
dest[0] =
......@@ -81,7 +81,7 @@ static inline void bink_idct_col(DCTELEM *dest, const DCTELEM *src)
void ff_bink_idct_c(DCTELEM *block)
{
int i;
DCTELEM temp[64];
int temp[64];
for (i = 0; i < 8; i++)
bink_idct_col(&temp[i], &block[i]);
......@@ -103,7 +103,7 @@ void ff_bink_idct_add_c(uint8_t *dest, int linesize, DCTELEM *block)
void ff_bink_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block)
{
int i;
DCTELEM temp[64];
int temp[64];
for (i = 0; i < 8; i++)
bink_idct_col(&temp[i], &block[i]);
for (i = 0; i < 8; i++) {
......
......@@ -13,8 +13,8 @@
0, 72000, 460800, 0x71c0f48e
0, 78000, 460800, 0x5fc8f783
0, 84000, 460800, 0xd23d336a
0, 90000, 460800, 0xa7aca9e0
0, 96000, 460800, 0x1dff2144
0, 102000, 460800, 0x82cf8b2b
0, 108000, 460800, 0x4cbe3544
0, 90000, 460800, 0xadcfa9e0
0, 96000, 460800, 0x24222144
0, 102000, 460800, 0x88f28b2b
0, 108000, 460800, 0x52e13544
0, 114000, 460800, 0x7e724731
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册