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

From: Joe Perches
Date: Thu Jun 04 2015 - 08:12:31 EST


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.


--
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/