소스 검색

qcacld-3.0: Add sanity check for connected profile in hdd

Currently there is no sanity check for connected profile
which may lead to NULL pointer access.

To address above issue, add sanity check for connected profile
in association completion handler.

Change-Id: I2ed3d65287f4ea23cdf9c6c630b5e97e2c42c6be
CRs-Fixed: 2847694
Ashish Kumar Dhanotiya 4 년 전
부모
커밋
37b1b0a707
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 5
      core/hdd/src/wlan_hdd_assoc.c

+ 5 - 5
core/hdd/src/wlan_hdd_assoc.c

@@ -2625,7 +2625,7 @@ hdd_association_completion_handler(struct hdd_adapter *adapter,
 	uint32_t conn_info_freq;
 	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 	struct if_mgr_event_data *connect_complete;
-	uint8_t uapsd_mask;
+	uint8_t uapsd_mask = 0;
 
 	if (!hdd_ctx) {
 		hdd_err("HDD context is NULL");
@@ -2642,8 +2642,8 @@ hdd_association_completion_handler(struct hdd_adapter *adapter,
 		hdd_err("roam_info is NULL");
 		return QDF_STATUS_E_FAILURE;
 	}
-
-	uapsd_mask =
+	if (roam_info->u.pConnectedProfile)
+		uapsd_mask =
 		roam_info->u.pConnectedProfile->modifyProfileFields.uapsd_mask;
 	hdd_cm_update_rssi_snr_by_bssid(adapter);
 
@@ -3041,7 +3041,7 @@ hdd_association_completion_handler(struct hdd_adapter *adapter,
 				 * Perform any WMM-related association
 				 * processing.
 				 */
-				hdd_wmm_assoc(adapter, roam_info->fReassocReq,
+				hdd_wmm_assoc(adapter, false,
 					      uapsd_mask);
 
 				/*
@@ -3098,7 +3098,7 @@ hdd_association_completion_handler(struct hdd_adapter *adapter,
 				 * Perform any WMM-related association
 				 * processing
 				 */
-				hdd_wmm_assoc(adapter, roam_info->fReassocReq,
+				hdd_wmm_assoc(adapter, true,
 					      uapsd_mask);
 			}