ALSA: aoa: avoid false-positive format truncation warning
authorArnd Bergmann <arnd@arndb.de>
Tue, 26 Mar 2024 22:38:07 +0000 (23:38 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 27 Mar 2024 09:53:37 +0000 (10:53 +0100)
clang warns about what it interprets as a truncated snprintf:

sound/aoa/soundbus/i2sbus/core.c:171:6: error: 'snprintf' will always be truncated; specified size is 6, but format string expands to at least 7 [-Werror,-Wformat-truncation-non-kprintf]

The actual problem here is that it does not understand the special
%pOFn format string and assumes that it is a pointer followed by
the string "OFn", which would indeed not fit.

Slightly increasing the size of the buffer to its natural alignment
avoids the warning, as it is now long enough for the correct and
the incorrect interprations.

Fixes: b917d58dcfaa ("ALSA: aoa: Convert to using %pOFn instead of device_node.name")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Message-ID: <20240326223825.4084412-9-arnd@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/aoa/soundbus/i2sbus/core.c

index 3f49a9e28bfc5509742822fff70a2d2b3eb74ee7..e627ffffa1f2391bed6d6f99def8787c9ddd3973 100644 (file)
@@ -158,7 +158,7 @@ static int i2sbus_add_dev(struct macio_dev *macio,
        struct device_node *child, *sound = NULL;
        struct resource *r;
        int i, layout = 0, rlen, ok = force;
-       char node_name[6];
+       char node_name[8];
        static const char *rnames[] = { "i2sbus: %pOFn (control)",
                                        "i2sbus: %pOFn (tx)",
                                        "i2sbus: %pOFn (rx)" };