Browse Source

qcacmn: Add NULL check in reg_get_pwrmode_chan_list API

The regulatory pdev private object is used directly without a NULL pointer
check in the API reg_get_pwrmode_chan_list.

Add a NULL pointer check for the regulatory pdev private object to prevent
NULL pointer dereference.

Change-Id: If6f9daf5d88a8fb9fba1b184721ba10e96ad0e2e
CRs-Fixed: 3159429
Hariharan Basuthkar 3 năm trước cách đây
mục cha
commit
50c862e9a3
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  1. 5 0
      umac/regulatory/core/src/reg_build_chan_list.c

+ 5 - 0
umac/regulatory/core/src/reg_build_chan_list.c

@@ -2776,6 +2776,11 @@ QDF_STATUS reg_get_pwrmode_chan_list(struct wlan_objmgr_pdev *pdev,
 
 	pdev_priv_obj = reg_get_pdev_obj(pdev);
 
+	if (!IS_VALID_PDEV_REG_OBJ(pdev_priv_obj)) {
+		reg_err_rl("reg pdev priv obj is NULL");
+		return QDF_STATUS_E_INVAL;
+	}
+
 	/* Get the current channel list */
 	qdf_mem_copy(chan_list, pdev_priv_obj->cur_chan_list,
 		     NUM_CHANNELS * sizeof(struct regulatory_channel));