From: Arend van Spriel Date: Thu, 14 Feb 2019 12:43:47 +0000 (+0100) Subject: brcmfmac: assure SSID length from firmware is limited X-Git-Tag: archive/raspbian/5.2.17-1+rpi1^2^2^2^2~53 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e96ff145a2d2d78b3b707b96930c8274d5aa3bc6;p=linux.git brcmfmac: assure SSID length from firmware is limited The SSID length as received from firmware should not exceed IEEE80211_MAX_SSID_LEN as that would result in heap overflow. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: Kalle Valo Gbp-Pq: Topic bugfix/all Gbp-Pq: Name brcmfmac-assure-SSID-length-from-firmware-is-limited.patch --- diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 6f3faaf1b1c..fa1a2e5ab03 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -3466,6 +3466,8 @@ brcmf_wowl_nd_results(struct brcmf_if *ifp, const struct brcmf_event_msg *e, } netinfo = brcmf_get_netinfo_array(pfn_result); + if (netinfo->SSID_len > IEEE80211_MAX_SSID_LEN) + netinfo->SSID_len = IEEE80211_MAX_SSID_LEN; memcpy(cfg->wowl.nd->ssid.ssid, netinfo->SSID, netinfo->SSID_len); cfg->wowl.nd->ssid.ssid_len = netinfo->SSID_len; cfg->wowl.nd->n_channels = 1;