From: Ajay Singh Date: Wed, 20 Jul 2022 16:03:04 +0000 (+0000) Subject: wifi: wilc1000: get correct length of string WID from received config packet X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=12fb1ae537a416b77ac9cbaefa6dd9dacaa27ed0;p=linux.git wifi: wilc1000: get correct length of string WID from received config packet For string type WID packet, the data length is received as 16-bit value so use 'get_unaligned_le16' conversion API to extract the correct length. Signed-off-by: Ajay Singh Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/20220720160302.231516-5-ajay.kathat@microchip.com --- diff --git a/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c b/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c index 60eaf62fd1642..131388886acbf 100644 --- a/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c +++ b/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c @@ -181,9 +181,10 @@ static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size) i++; if (cfg->s[i].id == wid) - memcpy(cfg->s[i].str, &info[2], info[2] + 2); + memcpy(cfg->s[i].str, &info[2], + get_unaligned_le16(&info[2]) + 2); - len = 2 + info[2]; + len = 2 + get_unaligned_le16(&info[2]); break; default: