b43: Use scnprintf() for avoiding potential buffer overflow
authorTakashi Iwai <tiwai@suse.de>
Wed, 11 Mar 2020 08:47:10 +0000 (09:47 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 12 Mar 2020 13:43:37 +0000 (15:43 +0200)
Since snprintf() returns the would-be-output size instead of the
actual output size, the succeeding calls may go beyond the given
buffer limit.  Fix it by replacing with scnprintf().

Cc: b43-dev@lists.infradead.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/b43/debugfs.c

index 1325727a74ed4fc7aec1098cc0e43996042db568..dc1819ca52ac76c34f39a0452e0d62cc3e1fdb25 100644 (file)
@@ -51,7 +51,7 @@ struct b43_dfs_file *fops_to_dfs_file(struct b43_wldev *dev,
 #define fappend(fmt, x...)     \
        do {                                                    \
                if (bufsize - count)                            \
-                       count += snprintf(buf + count,          \
+                       count += scnprintf(buf + count,         \
                                          bufsize - count,      \
                                          fmt , ##x);           \
                else                                            \