Re: [PATCH] thinkpad_acpi: fix: use scnprintf instead of snprintf.

From: Joe Perches
Date: Wed Jan 06 2021 - 04:02:23 EST


On Wed, 2021-01-06 at 14:36 +0800, YANG LI wrote:
> The snprintf() function returns the number of characters which would
> have been printed if there were enough space, but the scnprintf()
> returns the number of characters which were actually printed. If the
> buffer is not large enough, then using snprintf() would result in a
> read overflow and an information leak. This error was found with the
> help of coccicheck.

In all cases, the buffer _is_ large enough.

tmpi is length 5 and ok.
include/sound/core.h: char shortname[32]; /* short name of this soundcard */
include/sound/core.h: char longname[80]; /* name of this soundcard */
include/sound/core.h: char mixername[80]; /* mixer name */

_show function lengths are OK for all the uses with PAGE_SIZE.
And it's probably better to use sysfs_emit for all the _show functions