DF-1602 / fix.diff
diff --git a/sys/dev/misc/syscons/scvgarndr.c b/sys/dev/misc/syscons/scvgarndr.c --- a/sys/dev/misc/syscons/scvgarndr.c +++ b/sys/dev/misc/syscons/scvgarndr.c @@ -339,6 +339,8 @@ /* prepare mousepointer char's bitmaps */ pos = (y / scp->font_height - scp->yoff) * scp->xsize + x / scp->font_width - scp->xoff; + if (pos < 0 || pos + scp->xsize + 1 >= scp->xsize * scp->ysize) + return; bcopy(scp->font + sc_vtb_getc(&scp->scr, pos) * scp->font_height, &font_buf[0], scp->font_height); bcopy(scp->font + sc_vtb_getc(&scp->scr, pos + 1) * scp->font_height, |