소스 검색

qcacld-3.0: Fix buffer overflow in hdd_hard_start_xmit

Check STAID value returned by hdd_get_transmit_sta_id against MAX_STA,
before accessing array based on STAID index.

Change-Id: I4ac88e3d95f425ddc3a8690ef5333e0a4e67d328
CRs-Fixed: 1050083
Naveen Rawat 8 년 전
부모
커밋
209d09342f
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      core/hdd/src/wlan_hdd_tx_rx.c

+ 1 - 1
core/hdd/src/wlan_hdd_tx_rx.c

@@ -390,7 +390,7 @@ int hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	STAId = HDD_WLAN_INVALID_STA_ID;
 
 	hdd_get_transmit_sta_id(pAdapter, pDestMacAddress, &STAId);
-	if (STAId == HDD_WLAN_INVALID_STA_ID) {
+	if (STAId >= WLAN_MAX_STA_COUNT) {
 		hddLog(LOGE, "Invalid station id, transmit operation suspended");
 		goto drop_pkt;
 	}