Ver código fonte

qcacmn: Add NULL pointer check before dereferencing it

Few of the serialization APIs are de-referencing the pointer without
checking it against NULL.

Add a NULL check before de-referencing it.

CRs-Fixed: 2130161
Change-Id: I109518332e593e1f32936404021db1db7a332df7
Krunal Soni 7 anos atrás
pai
commit
80898349e8

+ 4 - 0
umac/cmn_services/serialization/src/wlan_serialization_api.c

@@ -219,6 +219,10 @@ wlan_serialization_request(struct wlan_serialization_command *cmd)
 	}
 
 	ser_soc_obj = wlan_serialization_get_obj(cmd);
+	if (!ser_soc_obj) {
+		serialization_err("ser_soc_obj is invalid");
+		return WLAN_SER_CMD_DENIED_UNSPECIFIED;
+	}
 
 	/*
 	 * Get Component Info callback by calling

+ 4 - 1
umac/cmn_services/serialization/src/wlan_serialization_utils.c

@@ -532,9 +532,12 @@ struct wlan_serialization_pdev_priv_obj *wlan_serialization_get_pdev_priv_obj(
 struct wlan_serialization_psoc_priv_obj *
 wlan_serialization_get_obj(struct wlan_serialization_command *cmd)
 {
-	struct wlan_serialization_psoc_priv_obj *ser_soc_obj;
+	struct wlan_serialization_psoc_priv_obj *ser_soc_obj = NULL;
 	struct wlan_objmgr_psoc *psoc;
 
+	if (!cmd->vdev)
+		return ser_soc_obj;
+
 	psoc = wlan_vdev_get_psoc(cmd->vdev);
 	ser_soc_obj = wlan_serialization_get_psoc_priv_obj(psoc);