mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
diracdec: fix emulated_edge condition, fix out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
f8d68822c0
commit
b84d1bf193
@ -1409,8 +1409,9 @@ static int mc_subpel(DiracContext *s, DiracBlock *block, const uint8_t *src[5],
|
||||
}
|
||||
|
||||
/* fixme: v/h _edge_pos */
|
||||
if ((unsigned)x > FFMAX(p->width +EDGE_WIDTH/2 - p->xblen, 0) ||
|
||||
(unsigned)y > FFMAX(p->height+EDGE_WIDTH/2 - p->yblen, 0)) {
|
||||
if (x + p->xblen > p->width +EDGE_WIDTH/2 ||
|
||||
y + p->yblen > p->height+EDGE_WIDTH/2 ||
|
||||
x < 0 || y < 0) {
|
||||
for (i = 0; i < nplanes; i++) {
|
||||
ff_emulated_edge_mc(s->edge_emu_buffer[i], src[i], p->stride,
|
||||
p->xblen, p->yblen, x, y,
|
||||
|
Loading…
x
Reference in New Issue
Block a user