瀏覽代碼

qcacld-3.0: Fix memory allocation error

Allocation of memory for assoc resp fails
when frame length is zero and error message
is displayed.

Fix is to allocate memory only when frame length
is greater than zero.

Change-Id: I6c3a457b7eb9d49fa67bee7570594dd81c2eb3d7
CRs-Fixed: 2060384
yeshwanth sriram guntuka 8 年之前
父節點
當前提交
d716a416da
共有 1 個文件被更改,包括 13 次插入11 次删除
  1. 13 11
      core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

+ 13 - 11
core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

@@ -650,17 +650,19 @@ lim_process_assoc_rsp_frame(tpAniSirGlobal mac_ctx,
 		session_entry->assocRspLen = 0;
 	}
 
-	session_entry->assocRsp = qdf_mem_malloc(frame_len);
-	if (NULL == session_entry->assocRsp) {
-		pe_err("Unable to allocate memory for assoc res,len: %d",
-			 frame_len);
-	} else {
-		/*
-		 * Store the Assoc response. This is sent
-		 * to csr/hdd in join cnf response.
-		 */
-		qdf_mem_copy(session_entry->assocRsp, body, frame_len);
-		session_entry->assocRspLen = frame_len;
+	if (frame_len) {
+		session_entry->assocRsp = qdf_mem_malloc(frame_len);
+		if (NULL == session_entry->assocRsp) {
+			pe_err("Unable to allocate memory for assoc res,len: %d",
+				 frame_len);
+		} else {
+			/*
+			 * Store the Assoc response. This is sent
+			 * to csr/hdd in join cnf response.
+			 */
+			qdf_mem_copy(session_entry->assocRsp, body, frame_len);
+			session_entry->assocRspLen = frame_len;
+		}
 	}
 
 	lim_update_ric_data(mac_ctx, session_entry, assoc_rsp);