Parcourir la source

qcacmn: add psoc null check before passing to wlan_objmgr_get_peer_by_mac

Current code directly passes the result of wlan_vdev_get_psoc(vdev) to
wlan_objmgr_get_peer_by_mac, without null pointer checking, which can
result in null pointer dereferencing.
To fix this issue, add checking of the psoc pointer before passing to
wlan_objmgr_get_peer_by_mac.

Change-Id: Ica5ebbc448a6da8b1e7c846f05773d95f995eaca
CRs-Fixed: 3327337
Mohammed Ahmed il y a 2 ans
Parent
commit
b36ae3c3aa
1 fichiers modifiés avec 7 ajouts et 2 suppressions
  1. 7 2
      os_if/linux/mlme/src/osif_cm_connect_rsp.c

+ 7 - 2
os_if/linux/mlme/src/osif_cm_connect_rsp.c

@@ -496,9 +496,14 @@ osif_fill_peer_mld_mac_connect_resp(struct wlan_objmgr_vdev *vdev,
 				    struct cfg80211_connect_resp_params *conn_rsp_params)
 {
 	struct wlan_objmgr_peer *peer_obj;
+	struct wlan_objmgr_psoc *psoc;
 
-	peer_obj = wlan_objmgr_get_peer_by_mac(wlan_vdev_get_psoc(vdev),
-					       rsp->bssid.bytes, WLAN_OSIF_ID);
+	psoc = wlan_vdev_get_psoc(vdev);
+	if (!psoc)
+		return QDF_STATUS_E_INVAL;
+
+	peer_obj = wlan_objmgr_get_peer_by_mac(psoc, rsp->bssid.bytes,
+					       WLAN_OSIF_ID);
 	if (!peer_obj)
 		return QDF_STATUS_E_INVAL;