Commit a12f8099 authored by Muhammad Usama Anjum's avatar Muhammad Usama Anjum Committed by Kalle Valo
Browse files

rtw88: check for validity before using a pointer



ieee80211_probereq_get() can return NULL. Pointer skb should be checked
for validty before use. If it is not valid, list of skbs needs to be
freed.

Fixes: 10d162b2 ("rtw88: 8822c: add ieee80211_ops::hw_scan")
Signed-off-by: default avatarMuhammad Usama Anjum <usama.anjum@collabora.com>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220121070813.9656-2-pkshih@realtek.com
parent 8ec10f15
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1866,11 +1866,19 @@ static int rtw_hw_scan_update_probe_req(struct rtw_dev *rtwdev,
					     req->ssids[i].ssid,
					     req->ssids[i].ssid_len,
					     req->ie_len);
		if (!skb)
			goto out;
		rtw_append_probe_req_ie(rtwdev, skb, &list, rtwvif);
		kfree_skb(skb);
	}

	return _rtw_hw_scan_update_probe_req(rtwdev, num, &list);

out:
	skb_queue_walk(&list, skb)
		kfree_skb(skb);

	return -ENOMEM;
}

static int rtw_add_chan_info(struct rtw_dev *rtwdev, struct rtw_chan_info *info,