cook: expand dither_tab[], and make sure indexes into it don't overflow.
Fixes overflows in accessing dither_tab[]. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
This commit is contained in:
parent
71af42bd96
commit
442c3a8cb1
@ -507,7 +507,11 @@ static inline void expand_category(COOKContext *q, int *category,
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < q->num_vectors; i++)
|
for (i = 0; i < q->num_vectors; i++)
|
||||||
++category[category_index[i]];
|
{
|
||||||
|
int idx = category_index[i];
|
||||||
|
if (++category[idx] >= FF_ARRAY_ELEMS(dither_tab))
|
||||||
|
--category[idx];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,8 +36,8 @@ static const int expbits_tab[8] = {
|
|||||||
52,47,43,37,29,22,16,0,
|
52,47,43,37,29,22,16,0,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const float dither_tab[8] = {
|
static const float dither_tab[9] = {
|
||||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.176777, 0.25, 0.707107,
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.176777, 0.25, 0.707107, 1.0
|
||||||
};
|
};
|
||||||
|
|
||||||
static const float quant_centroid_tab[7][14] = {
|
static const float quant_centroid_tab[7][14] = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user