Bläddra i källkod

qcacmn: sanitize the range of local_id before using it

Sanitize the local_id before accessing to the local_peer_ids pool.

Change-Id: I5cd2f19d493360d384de895dccfaf51d3008b5b7
CRs-fixed: 2247672
Ryan Hsu 6 år sedan
förälder
incheckning
9d56e3a4c0
1 ändrade filer med 5 tillägg och 0 borttagningar
  1. 5 0
      dp/wifi3.0/dp_peer.c

+ 5 - 0
dp/wifi3.0/dp_peer.c

@@ -2024,6 +2024,11 @@ void *dp_peer_find_by_local_id(struct cdp_pdev *pdev_handle, uint8_t local_id)
 	struct dp_peer *peer;
 	struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
 
+	if (local_id >= OL_TXRX_NUM_LOCAL_PEER_IDS) {
+		DP_TRACE(DEBUG, "Incorrect local id %d", local_id);
+		QDF_BUG(0);
+		return NULL;
+	}
 	qdf_spin_lock_bh(&pdev->local_peer_ids.lock);
 	peer = pdev->local_peer_ids.map[local_id];
 	qdf_spin_unlock_bh(&pdev->local_peer_ids.lock);