diff --git a/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload_event.c b/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload_event.c index 3c6cbd1c8e..38607e4d2d 100644 --- a/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload_event.c +++ b/components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload_event.c @@ -416,6 +416,8 @@ cm_roam_sync_frame_event_handler(struct wlan_objmgr_psoc *psoc, sync_frame_ind->bcn_probe_rsp_len; roam_synch_frame_ind->is_beacon = sync_frame_ind->is_beacon; + if (roam_synch_frame_ind->bcn_probe_rsp) + qdf_mem_free(roam_synch_frame_ind->bcn_probe_rsp); roam_synch_frame_ind->bcn_probe_rsp = sync_frame_ind->bcn_probe_rsp; } @@ -423,6 +425,8 @@ cm_roam_sync_frame_event_handler(struct wlan_objmgr_psoc *psoc, if (sync_frame_ind->reassoc_req_len) { roam_synch_frame_ind->reassoc_req_len = sync_frame_ind->reassoc_req_len; + if (roam_synch_frame_ind->reassoc_req) + qdf_mem_free(roam_synch_frame_ind->reassoc_req); roam_synch_frame_ind->reassoc_req = sync_frame_ind->reassoc_req; } @@ -430,6 +434,8 @@ cm_roam_sync_frame_event_handler(struct wlan_objmgr_psoc *psoc, if (sync_frame_ind->reassoc_rsp_len) { roam_synch_frame_ind->reassoc_rsp_len = sync_frame_ind->reassoc_rsp_len; + if (roam_synch_frame_ind->reassoc_rsp) + qdf_mem_free(roam_synch_frame_ind->reassoc_rsp); roam_synch_frame_ind->reassoc_rsp = sync_frame_ind->reassoc_rsp; } diff --git a/components/wmi/src/wmi_unified_roam_tlv.c b/components/wmi/src/wmi_unified_roam_tlv.c index 5ac4ee24d1..0be3bff8c3 100644 --- a/components/wmi/src/wmi_unified_roam_tlv.c +++ b/components/wmi/src/wmi_unified_roam_tlv.c @@ -2707,9 +2707,6 @@ extract_roam_sync_frame_event_tlv(wmi_unified_t wmi_handle, void *event, roam_sync_frame_ind->is_beacon = synch_frame_event->is_beacon; - if (roam_sync_frame_ind->bcn_probe_rsp) - qdf_mem_free(roam_sync_frame_ind->bcn_probe_rsp); - roam_sync_frame_ind->bcn_probe_rsp = qdf_mem_malloc(roam_sync_frame_ind->bcn_probe_rsp_len); if (!roam_sync_frame_ind->bcn_probe_rsp) { @@ -2725,8 +2722,6 @@ extract_roam_sync_frame_event_tlv(wmi_unified_t wmi_handle, void *event, roam_sync_frame_ind->reassoc_req_len = synch_frame_event->reassoc_req_len; - if (roam_sync_frame_ind->reassoc_req) - qdf_mem_free(roam_sync_frame_ind->reassoc_req); roam_sync_frame_ind->reassoc_req = qdf_mem_malloc(roam_sync_frame_ind->reassoc_req_len); if (!roam_sync_frame_ind->reassoc_req) { @@ -2742,9 +2737,6 @@ extract_roam_sync_frame_event_tlv(wmi_unified_t wmi_handle, void *event, roam_sync_frame_ind->reassoc_rsp_len = synch_frame_event->reassoc_rsp_len; - if (roam_sync_frame_ind->reassoc_rsp) - qdf_mem_free(roam_sync_frame_ind->reassoc_rsp); - roam_sync_frame_ind->reassoc_rsp = qdf_mem_malloc(roam_sync_frame_ind->reassoc_rsp_len); if (!roam_sync_frame_ind->reassoc_rsp) {