staging: rtl8712: Replace snprintf with scnprintf
authorRohit Sarkar <rohitsarkar5398@gmail.com>
Tue, 10 Sep 2019 18:49:31 +0000 (00:19 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Sep 2019 19:57:59 +0000 (21:57 +0200)
When the number of bytes to be printed exceeds the limit snprintf
returns the number of bytes that would have been printed (if there was
no truncation). This might cause issues, hence use scnprintf which
returns the actual number of bytes printed to buffer always.

Signed-off-by: Rohit Sarkar <rohitsarkar5398@gmail.com>
Link: https://lore.kernel.org/r/20190910184931.GA8228@SARKAR
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8712/rtl871x_ioctl_linux.c

index 944336e0d2e2fd58fd559d10d6b1a52251e9375a..b3263e953f05b1296e1732317eb10825d6b296be 100644 (file)
@@ -142,7 +142,7 @@ static noinline_for_stack char *translate_scan_wpa(struct iw_request_info *info,
                memset(buf, 0, MAX_WPA_IE_LEN);
                n = sprintf(buf, "wpa_ie=");
                for (i = 0; i < wpa_len; i++) {
-                       n += snprintf(buf + n, MAX_WPA_IE_LEN - n,
+                       n += scnprintf(buf + n, MAX_WPA_IE_LEN - n,
                                                "%02x", wpa_ie[i]);
                        if (n >= MAX_WPA_IE_LEN)
                                break;
@@ -162,7 +162,7 @@ static noinline_for_stack char *translate_scan_wpa(struct iw_request_info *info,
                memset(buf, 0, MAX_WPA_IE_LEN);
                n = sprintf(buf, "rsn_ie=");
                for (i = 0; i < rsn_len; i++) {
-                       n += snprintf(buf + n, MAX_WPA_IE_LEN - n,
+                       n += scnprintf(buf + n, MAX_WPA_IE_LEN - n,
                                                "%02x", rsn_ie[i]);
                        if (n >= MAX_WPA_IE_LEN)
                                break;