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

Joe Perches joe at perches.com
Thu Jun 4 12:12:23 UTC 2015


On Thu, 2015-06-04 at 17:12 +0530, Sudip Mukherjee wrote:
> size of str is 16, but in snprintf the size was mentioned as 128.
[]
> diff --git 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]);

using sizeof(str) is probably more robust

msg isn't big enough to hold the maximum possible output.

If this is really useful, and I rather doubt it is,
it'd probably be better to use a loop to output
multiple lines, one for each register.




More information about the devel mailing list