diff mbox

ath10k: fix the garage chars in board file name creation

Message ID 1486758429-18665-1-git-send-email-ryanhsu@qca.qualcomm.com (mailing list archive)
State Accepted
Commit a532293fcba4b6b041c1a91674bc284d51280eb7
Delegated to: Kalle Valo
Headers show

Commit Message

Ryan Hsu Feb. 10, 2017, 8:27 p.m. UTC
From: Ryan Hsu <ryanhsu@qca.qualcomm.com>

The variant[] string will be valid only if the bdf_ext is set.

The string memory needs to be null-terminated to avoid the undefined garbage
appended by the subsequent board file name creation.

ath10k_pci 0000:04:00.0: failed to fetch board data for
"bus=pci,vendor=168c,device=003e,subsystem-vendor=168c,subsystem-device=3363��P�����"
from ath10k/QCA6174/hw3.0/board-2.bin

Fixes: f2593cb1b291 ("ath10k: Search SMBIOS for OEM board file extension")
Reported-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath10k/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo Feb. 14, 2017, 5:57 p.m. UTC | #1
Ryan Hsu <ryanhsu@qca.qualcomm.com> wrote:
> From: Ryan Hsu <ryanhsu@qca.qualcomm.com>
> 
> The variant[] string will be valid only if the bdf_ext is set.
> 
> The string memory needs to be null-terminated to avoid the undefined garbage
> appended by the subsequent board file name creation.
> 
> ath10k_pci 0000:04:00.0: failed to fetch board data for
> "bus=pci,vendor=168c,device=003e,subsystem-vendor=168c,subsystem-device=3363��P�����"
> from ath10k/QCA6174/hw3.0/board-2.bin
> 
> Fixes: f2593cb1b291 ("ath10k: Search SMBIOS for OEM board file extension")
> Reported-by: Kalle Valo <kvalo@qca.qualcomm.com>
> Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com>

Patch applied to ath-next branch of ath.git, thanks.

a532293fcba4 ath10k: fix the garage chars in board file name creation
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index c27e7ea..014a87e 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1122,7 +1122,7 @@  static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
 					 size_t name_len)
 {
 	/* strlen(',variant=') + strlen(ar->id.bdf_ext) */
-	char variant[9 + ATH10K_SMBIOS_BDF_EXT_STR_LENGTH];
+	char variant[9 + ATH10K_SMBIOS_BDF_EXT_STR_LENGTH] = { 0 };
 
 	if (ar->id.bmi_ids_valid) {
 		scnprintf(name, name_len,