Re: [RFC 2/7] Input: joystick - avoid fragile snprintf use

From: Andy Shevchenko
Date: Wed Mar 09 2016 - 01:49:39 EST


On Tue, Mar 8, 2016 at 10:40 PM, Rasmus Villemoes
<linux@xxxxxxxxxxxxxxxxxx> wrote:
> Passing overlapping src and dst buffers to snprintf is fragile, and
> while it currently works for the special case of passing dst as the
> argument corresponding to an initial "%s" in the format string, any
> other use would very likely lead to chaos. It's easy enough to avoid,
> so let's do that.

> static void analog_name(struct analog *analog)
> {
> - snprintf(analog->name, sizeof(analog->name), "Analog %d-axis %d-button",
> + int ret = 0;

Assignment is not needed.

> +
> + ret = scnprintf(analog->name, sizeof(analog->name), "Analog %d-axis %d-button",



--
With Best Regards,
Andy Shevchenko