On 19.09.18 19:15, Heinrich Schuchardt wrote:
> CSI H can be used to position the cursor. The calling application may
> specify a location that is beyond the limits of the screen. This may
> lead to an illegal memory access.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>

Reviewed-by: Alexander Graf <ag...@suse.de>

I'll be happy to take this in via efi-next if nobody beats me to it, as
it fixes a test failure we're not triggering otherwise.


Alex

> ---
>  drivers/video/vidconsole-uclass.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/video/vidconsole-uclass.c 
> b/drivers/video/vidconsole-uclass.c
> index f1d3ad3611..0c36a5de0a 100644
> --- a/drivers/video/vidconsole-uclass.c
> +++ b/drivers/video/vidconsole-uclass.c
> @@ -213,6 +213,14 @@ static void vidconsole_escape_char(struct udevice *dev, 
> char ch)
>               s++;    /* ; */
>               s = parsenum(s, &col);
>  
> +             /*
> +              * Ensure we stay in the bounds of the screen.
> +              */
> +             if (row >= priv->rows)
> +                     row = priv->rows - 1;
> +             if (col >= priv->cols)
> +                     col = priv->cols - 1;
> +
>               priv->ycur = row * priv->y_charsize;
>               priv->xcur_frac = priv->xstart_frac +
>                       VID_TO_POS(col * priv->x_charsize);
> 
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to