|
@@ -1636,6 +1636,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|
|
|
|
|
if (NULL == pe_session) {
|
|
|
pe_err("pe_session is NULL");
|
|
|
+ qdf_mem_free(mlm_assoc_req);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -1644,6 +1645,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|
|
/* check this early to avoid unncessary operation */
|
|
|
if (NULL == pe_session->pLimJoinReq) {
|
|
|
pe_err("pe_session->pLimJoinReq is NULL");
|
|
|
+ qdf_mem_free(mlm_assoc_req);
|
|
|
return;
|
|
|
}
|
|
|
add_ie_len = pe_session->pLimJoinReq->addIEAssoc.length;
|
|
@@ -1652,6 +1654,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|
|
frm = qdf_mem_malloc(sizeof(tDot11fAssocRequest));
|
|
|
if (NULL == frm) {
|
|
|
pe_err("Unable to allocate memory");
|
|
|
+ qdf_mem_free(mlm_assoc_req);
|
|
|
return;
|
|
|
}
|
|
|
qdf_mem_set((uint8_t *) frm, sizeof(tDot11fAssocRequest), 0);
|
|
@@ -1947,8 +1950,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|
|
lim_post_sme_message(mac_ctx, LIM_MLM_ASSOC_CNF,
|
|
|
(uint32_t *) &assoc_cnf);
|
|
|
|
|
|
- qdf_mem_free(frm);
|
|
|
- return;
|
|
|
+ goto end;
|
|
|
}
|
|
|
/* Paranoia: */
|
|
|
qdf_mem_set(frame, bytes, 0);
|
|
@@ -1963,8 +1965,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|
|
if (DOT11F_FAILED(status)) {
|
|
|
pe_err("Assoc request pack failure (0x%08x)", status);
|
|
|
cds_packet_free((void *)packet);
|
|
|
- qdf_mem_free(frm);
|
|
|
- return;
|
|
|
+ goto end;
|
|
|
} else if (DOT11F_WARNED(status)) {
|
|
|
pe_warn("Assoc request pack warning (0x%08x)", status);
|
|
|
}
|
|
@@ -2024,9 +2025,8 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|
|
pe_err("Failed to send Association Request (%X)!",
|
|
|
qdf_status);
|
|
|
/* Pkt will be freed up by the callback */
|
|
|
- qdf_mem_free(frm);
|
|
|
- return;
|
|
|
}
|
|
|
+end:
|
|
|
/* Free up buffer allocated for mlm_assoc_req */
|
|
|
qdf_mem_free(mlm_assoc_req);
|
|
|
mlm_assoc_req = NULL;
|