소스 검색

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