فهرست منبع

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);