avcodec/ansi: Check x/y
This prevents out of array accesses Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
c1f2c4c3b4
commit
e91fd754c6
@ -243,6 +243,8 @@ static int execute_code(AVCodecContext * avctx, int c)
|
||||
default:
|
||||
avpriv_request_sample(avctx, "Unsupported screen mode");
|
||||
}
|
||||
s->x = av_clip(s->x, 0, width - FONT_WIDTH);
|
||||
s->y = av_clip(s->y, 0, height - s->font_height);
|
||||
if (width != avctx->width || height != avctx->height) {
|
||||
av_frame_unref(s->frame);
|
||||
avcodec_set_dimensions(avctx, width, height);
|
||||
@ -336,6 +338,8 @@ static int execute_code(AVCodecContext * avctx, int c)
|
||||
avpriv_request_sample(avctx, "Unknown escape code");
|
||||
break;
|
||||
}
|
||||
s->x = av_clip(s->x, 0, avctx->width - FONT_WIDTH);
|
||||
s->y = av_clip(s->y, 0, avctx->height - s->font_height);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user