mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-17 20:17:55 +02:00
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:
|
default:
|
||||||
avpriv_request_sample(avctx, "Unsupported screen mode");
|
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) {
|
if (width != avctx->width || height != avctx->height) {
|
||||||
av_frame_unref(s->frame);
|
av_frame_unref(s->frame);
|
||||||
avcodec_set_dimensions(avctx, width, height);
|
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");
|
avpriv_request_sample(avctx, "Unknown escape code");
|
||||||
break;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user