mwifiex: Ensure the version string from the firmware is 0-terminated
authorJonas Dreßler <verdre@v0yd.nl>
Wed, 3 Nov 2021 20:18:00 +0000 (21:18 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 26 Nov 2021 16:29:38 +0000 (18:29 +0200)
We assume at a few places that priv->version_str is 0-terminated, but
right now we trust the firmware that this is the case with the version
string we get from it.

Let's rather ensure this ourselves and replace the last character with
'\0'.

Signed-off-by: Jonas Dreßler <verdre@v0yd.nl>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20211103201800.13531-4-verdre@v0yd.nl
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c

index 6c7b0b9..1a4ae8a 100644 (file)
@@ -734,6 +734,9 @@ static int mwifiex_ret_ver_ext(struct mwifiex_private *priv,
                       MWIFIEX_VERSION_STR_LENGTH);
                memcpy(priv->version_str, ver_ext->version_str,
                       MWIFIEX_VERSION_STR_LENGTH);
+
+               /* Ensure the version string from the firmware is 0-terminated */
+               priv->version_str[MWIFIEX_VERSION_STR_LENGTH - 1] = '\0';
        }
        return 0;
 }