qcacmn: Fix the issues pointed out by KW in the regulatory module
Fix the issues pointed out by KW : 1) https://kwdbprod16.qualcomm.com:8070/review/insight-review.html# issuedetails_goto:problemid=222576,project=CRM_NHSS_QSDK_11_5_P Initialize dbg_id in reg_process_afc_power_event. 2) https://kwdbprod16.qualcomm.com:8070/review/insight-review.html# issuedetails_goto:problemid=222579,project=CRM_NHSS_QSDK_11_5_P In ucfg_reg_get_partial_afc_req_info, add a sanity check for afc_req to prevent NULL pointer dereference. 3) https://kwdbprod16.qualcomm.com:8070/review/insight-review.html# issuedetails_goto:problemid=222580,project=CRM_NHSS_QSDK_11_5_P Add a sanity check for afc_chan_obj to prevent NULL pointer dereference. Change-Id: I0481fda6d08590312a863a33a1823a0b07fa194e CRs-Fixed: 3043280
This commit is contained in:

committed by
Madan Koyyalamudi

parent
7a52367615
commit
479b0d31a1
@@ -2929,6 +2929,11 @@ reg_process_afc_power_event(struct afc_regulatory_info *afc_info)
|
|||||||
else
|
else
|
||||||
pdev_id = phy_id;
|
pdev_id = phy_id;
|
||||||
|
|
||||||
|
if (soc_reg->offload_enabled)
|
||||||
|
dbg_id = WLAN_REGULATORY_NB_ID;
|
||||||
|
else
|
||||||
|
dbg_id = WLAN_REGULATORY_SB_ID;
|
||||||
|
|
||||||
reg_debug("process reg afc master chan list");
|
reg_debug("process reg afc master chan list");
|
||||||
this_mchan_params = &soc_reg->mas_chan_params[phy_id];
|
this_mchan_params = &soc_reg->mas_chan_params[phy_id];
|
||||||
afc_mas_chan_list = this_mchan_params->mas_chan_list_6g_afc;
|
afc_mas_chan_list = this_mchan_params->mas_chan_list_6g_afc;
|
||||||
|
@@ -265,7 +265,11 @@ QDF_STATUS ucfg_reg_get_partial_afc_req_info(
|
|||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
|
|
||||||
status = reg_get_partial_afc_req_info(pdev, afc_req);
|
status = reg_get_partial_afc_req_info(pdev, afc_req);
|
||||||
if (status == QDF_STATUS_SUCCESS && afc_req)
|
|
||||||
|
if (!afc_req)
|
||||||
|
return QDF_STATUS_E_NOMEM;
|
||||||
|
|
||||||
|
if (status == QDF_STATUS_SUCCESS)
|
||||||
reg_dmn_set_afc_req_id(*afc_req, req_id);
|
reg_dmn_set_afc_req_id(*afc_req, req_id);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
@@ -13132,6 +13132,9 @@ static void copy_power_event(struct afc_regulatory_info *afc_info,
|
|||||||
afc_chan_info = qdf_mem_malloc(power_info->num_chan_objs *
|
afc_chan_info = qdf_mem_malloc(power_info->num_chan_objs *
|
||||||
sizeof(*afc_chan_info));
|
sizeof(*afc_chan_info));
|
||||||
|
|
||||||
|
if (!afc_chan_info)
|
||||||
|
return;
|
||||||
|
|
||||||
copy_afc_chan_obj_info(afc_chan_info,
|
copy_afc_chan_obj_info(afc_chan_info,
|
||||||
power_info->num_chan_objs,
|
power_info->num_chan_objs,
|
||||||
channel_info_hdr,
|
channel_info_hdr,
|
||||||
|
Reference in New Issue
Block a user