Re: [PATCH] staging: fbtft: fix out of bound access

From: Dan Carpenter
Date: Thu Jun 04 2015 - 08:37:06 EST


On Thu, Jun 04, 2015 at 05:12:01PM +0530, Sudip Mukherjee wrote:
> size of str is 16, but in snprintf the size was mentioned as 128.
>
> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
> ---
> drivers/staging/fbtft/fbtft-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
> index ce64521..0af84b5 100644
> --- a/drivers/staging/fbtft/fbtft-core.c
> +++ b/drivers/staging/fbtft/fbtft-core.c
> @@ -1096,7 +1096,7 @@ static int fbtft_init_display_dt(struct fbtft_par *par)
> /* make debug message */
> msg[0] = '\0';
> for (j = 0; j < i; j++) {
> - snprintf(str, 128, " %02X", buf[j]);
> + snprintf(str, 16, " %02X", buf[j]);

Good eye. How did you find this?

The good news is buf[j] is <= 0xFFFF so it won't actually overflow. Who
knows why it is zero padded 2 spaces... But use sizeof(str) instead of
16.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/