From 4d9ded6b417c5a3ef0ae61017bef97acb00f230e Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Sat, 25 Apr 2020 15:17:43 +0000 Subject: [PATCH] MFC r359626: vt: avoid overrun when stride is not a multiple of bytes per pixel PR: 243533 Submitted by: Thomas Skibo --- sys/dev/vt/hw/fb/vt_fb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/vt/hw/fb/vt_fb.c b/sys/dev/vt/hw/fb/vt_fb.c index 091188c5e2daaf..62a52dd9e01751 100644 --- a/sys/dev/vt/hw/fb/vt_fb.c +++ b/sys/dev/vt/hw/fb/vt_fb.c @@ -234,12 +234,12 @@ vt_fb_blank(struct vt_device *vd, term_color_t color) break; case 2: for (h = 0; h < info->fb_height; h++) - for (o = 0; o < info->fb_stride; o += 2) + for (o = 0; o < info->fb_stride - 1; o += 2) vt_fb_mem_wr2(info, h*info->fb_stride + o, c); break; case 3: for (h = 0; h < info->fb_height; h++) - for (o = 0; o < info->fb_stride; o += 3) { + for (o = 0; o < info->fb_stride - 2; o += 3) { vt_fb_mem_wr1(info, h*info->fb_stride + o, (c >> 16) & 0xff); vt_fb_mem_wr1(info, h*info->fb_stride + o + 1, @@ -250,7 +250,7 @@ vt_fb_blank(struct vt_device *vd, term_color_t color) break; case 4: for (h = 0; h < info->fb_height; h++) - for (o = 0; o < info->fb_stride; o += 4) + for (o = 0; o < info->fb_stride - 3; o += 4) vt_fb_mem_wr4(info, h*info->fb_stride + o, c); break; default: