Re: [RFC 0/7] eliminate snprintf with overlapping src and dst

From: Andrew Morton
Date: Wed Mar 09 2016 - 15:49:50 EST


On Tue, 8 Mar 2016 21:40:47 +0100 Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote:

> Doing snprintf(buf, len, "%s...", buf, ...) for appending to a buffer
> currently works, but it is somewhat fragile, and any other overlap
> between source and destination buffers would be a definite bug. This
> is an attempt at eliminating the relatively few occurences of this
> pattern in the kernel.

I dunno,

snprintf(analog->name, sizeof(analog->name), "Analog %d-axis %d-button",

is pretty damn convenient. Can we instead state that "sprintf shall
support this"? Maybe add a little __init testcase to vsprintf.c to
check that it continues to work OK.