Commit 3c719fed authored by Ajay Singh's avatar Ajay Singh Committed by Kalle Valo

wilc1000: fix possible memory leak in cfg_scan_result()

When the BSS reference holds a valid reference, it is not freed. The 'if'
condition is wrong. Instead of the 'if (bss)' check, the 'if (!bss)' check
is used.
The issue is solved by removing the unnecessary 'if' check because
cfg80211_put_bss() already performs the NULL validation.

Fixes: 6cd4fa5a ("staging: wilc1000: make use of cfg80211_inform_bss_frame()")
Signed-off-by: default avatarAjay Singh <ajay.kathat@microchip.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210916164902.74629-3-ajay.kathat@microchip.com
parent c8e2036e
...@@ -129,8 +129,7 @@ static void cfg_scan_result(enum scan_event scan_event, ...@@ -129,8 +129,7 @@ static void cfg_scan_result(enum scan_event scan_event,
info->frame_len, info->frame_len,
(s32)info->rssi * 100, (s32)info->rssi * 100,
GFP_KERNEL); GFP_KERNEL);
if (!bss) cfg80211_put_bss(wiphy, bss);
cfg80211_put_bss(wiphy, bss);
} else if (scan_event == SCAN_EVENT_DONE) { } else if (scan_event == SCAN_EVENT_DONE) {
mutex_lock(&priv->scan_req_lock); mutex_lock(&priv->scan_req_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment