lavfi/perlin: Fix out of bounds stack buffer write
An incorrect calculation in ff_perlin_init causes a write to the stack array at index 256, which is out of bounds. Fixes: CID1608711 Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
f2f2b27517
commit
6d9c4bd69e
@ -129,7 +129,7 @@ int ff_perlin_init(FFPerlin *perlin, double period, int octaves, double persiste
|
|||||||
for (i = 0; i < 256; i++) {
|
for (i = 0; i < 256; i++) {
|
||||||
unsigned int random_idx = av_lfg_get(&lfg) % (256-i);
|
unsigned int random_idx = av_lfg_get(&lfg) % (256-i);
|
||||||
uint8_t random_val = random_permutations[random_idx];
|
uint8_t random_val = random_permutations[random_idx];
|
||||||
random_permutations[random_idx] = random_permutations[256-i];
|
random_permutations[random_idx] = random_permutations[255-i];
|
||||||
|
|
||||||
perlin->permutations[i] = perlin->permutations[i+256] = random_val;
|
perlin->permutations[i] = perlin->permutations[i+256] = random_val;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user