projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
629840e
)
wifi: cw1200: cap SSID length in cw1200_do_join()
author
Dan Carpenter
<dan.carpenter@linaro.org>
Fri, 29 Aug 2025 12:48:28 +0000
(15:48 +0300)
committer
Johannes Berg
<johannes.berg@intel.com>
Wed, 3 Sep 2025 07:37:51 +0000
(09:37 +0200)
If the ssidie[1] length is more that 32 it leads to memory corruption.
Fixes:
a910e4a94f69
("cw1200: add driver for the ST-E CW1100 & CW1200 WLAN chipsets")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link:
https://patch.msgid.link/e91fb43fcedc4893b604dfb973131661510901a7.1756456951.git.dan.carpenter@linaro.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/st/cw1200/sta.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/st/cw1200/sta.c
b/drivers/net/wireless/st/cw1200/sta.c
index
b1dd76e
..
5d8eaa7
100644
(file)
--- a/
drivers/net/wireless/st/cw1200/sta.c
+++ b/
drivers/net/wireless/st/cw1200/sta.c
@@
-1291,7
+1291,7
@@
static void cw1200_do_join(struct cw1200_common *priv)
rcu_read_lock();
ssidie = ieee80211_bss_get_ie(bss, WLAN_EID_SSID);
if (ssidie) {
- join.ssid_len =
ssidie[1]
;
+ join.ssid_len =
min(ssidie[1], IEEE80211_MAX_SSID_LEN)
;
memcpy(join.ssid, &ssidie[2], join.ssid_len);
}
rcu_read_unlock();