diff options
author | Johannes Berg <johannes.berg@intel.com> | 2024-04-18 10:52:21 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-04-19 10:02:12 +0200 |
commit | 1ac6f60aab36ae3f0520cc7ace02ad32240b8a1f (patch) | |
tree | 4d7e69888c8945979e742e7d034db5cb4e4c5d2c /net | |
parent | 645acc6f55918feacc4572dd80acbb152b2208d9 (diff) |
wifi: mac80211: mlme: fix memory leak
When re-parsing the elements here (with changed mode), free
the original ones first to avoid leaking memory.
Fixes: 310c8387c638 ("wifi: mac80211: clean up connection process")
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240418105220.458421e3bbff.Icb5b84cba3ea420794cf009cf18ec3d76e434736@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/mlme.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 98cb475a14c8..6fa3752b740e 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -753,8 +753,10 @@ again: } /* the mode can only decrease, so this must terminate */ - if (ap_mode != conn->mode) + if (ap_mode != conn->mode) { + kfree(elems); goto again; + } mlme_link_id_dbg(sdata, link_id, "connecting with %s mode, max bandwidth %d MHz\n", |