Commit 2f1de5ca authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/huffyuvdec: apply vertical filter in steps of 1 line for interlaced BGRA

Fixes out of array read
Fixes: signal_sigsegv_3287332_2301_cov_2994954934_huffyuv.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent d0879a93
...@@ -1202,11 +1202,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, ...@@ -1202,11 +1202,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
if (s->predictor == PLANE) { if (s->predictor == PLANE) {
if (s->bitstream_bpp != 32) if (s->bitstream_bpp != 32)
left[A] = 0; left[A] = 0;
if ((y & s->interlaced) == 0 && if (y < s->height - 1 - s->interlaced) {
y < s->height - 1 - s->interlaced) {
s->hdsp.add_bytes(p->data[0] + p->linesize[0] * y, s->hdsp.add_bytes(p->data[0] + p->linesize[0] * y,
p->data[0] + p->linesize[0] * y + p->data[0] + p->linesize[0] * y +
fake_ystride, fake_ystride); fake_ystride, 4 * width);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment