diff options
Diffstat (limited to 'package/kernel/mac80211/patches/473-v5.4-brcmfmac-replace-strncpy-by-strscpy.patch')
-rw-r--r-- | package/kernel/mac80211/patches/473-v5.4-brcmfmac-replace-strncpy-by-strscpy.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/473-v5.4-brcmfmac-replace-strncpy-by-strscpy.patch b/package/kernel/mac80211/patches/473-v5.4-brcmfmac-replace-strncpy-by-strscpy.patch new file mode 100644 index 0000000000..5c9f3f687b --- /dev/null +++ b/package/kernel/mac80211/patches/473-v5.4-brcmfmac-replace-strncpy-by-strscpy.patch @@ -0,0 +1,36 @@ +From 5f42b382ead278c1f6c3854765c97eb20491aa2a Mon Sep 17 00:00:00 2001 +From: Xulin Sun <xulin.sun@windriver.com> +Date: Fri, 23 Aug 2019 15:47:08 +0800 +Subject: [PATCH] brcmfmac: replace strncpy() by strscpy() + +The strncpy() may truncate the copied string, +replace it by the safer strscpy(). + +To avoid below compile warning with gcc 8.2: + +drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:In function 'brcmf_vndr_ie': +drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:4227:2: +warning: 'strncpy' output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation] + strncpy(iebuf, add_del_cmd, VNDR_IE_CMD_LEN - 1); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Xulin Sun <xulin.sun@windriver.com> +Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> +Signed-off-by: Kalle Valo <kvalo@codeaurora.org> +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +@@ -4246,9 +4246,7 @@ next: + static u32 + brcmf_vndr_ie(u8 *iebuf, s32 pktflag, u8 *ie_ptr, u32 ie_len, s8 *add_del_cmd) + { +- +- strncpy(iebuf, add_del_cmd, VNDR_IE_CMD_LEN - 1); +- iebuf[VNDR_IE_CMD_LEN - 1] = '\0'; ++ strscpy(iebuf, add_del_cmd, VNDR_IE_CMD_LEN); + + put_unaligned_le32(1, &iebuf[VNDR_IE_COUNT_OFFSET]); + |