diff --git a/umac/scan/dispatcher/src/wlan_scan_utils_api.c b/umac/scan/dispatcher/src/wlan_scan_utils_api.c index 7ffe30b413d1..94a4a101a89d 100644 --- a/umac/scan/dispatcher/src/wlan_scan_utils_api.c +++ b/umac/scan/dispatcher/src/wlan_scan_utils_api.c @@ -2524,6 +2524,8 @@ static QDF_STATUS util_scan_parse_mbssid(struct wlan_objmgr_pdev *pdev, } if (mbssid_info.split_prof_continue) { + if (!split_prof_start) + break; nontx_profile = split_prof_start; subie_len = split_prof_len; } else { @@ -2541,6 +2543,7 @@ static QDF_STATUS util_scan_parse_mbssid(struct wlan_objmgr_pdev *pdev, qdf_mem_free(split_prof_start); split_prof_start = NULL; split_prof_end = NULL; + split_prof_len = 0; } continue; } @@ -2606,6 +2609,7 @@ static QDF_STATUS util_scan_parse_mbssid(struct wlan_objmgr_pdev *pdev, qdf_mem_free(split_prof_start); split_prof_start = NULL; split_prof_end = NULL; + split_prof_len = 0; qdf_mem_zero(&mbssid_info, sizeof(mbssid_info)); } @@ -2620,6 +2624,7 @@ static QDF_STATUS util_scan_parse_mbssid(struct wlan_objmgr_pdev *pdev, qdf_mem_free(split_prof_start); split_prof_start = NULL; split_prof_end = NULL; + split_prof_len = 0; } qdf_mem_free(new_frame); }