소스 검색

Merge "asoc: Fix invalid size pointer access in routing driver"

qctecmdr 6 년 전
부모
커밋
ec7ab4c45b
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      asoc/msm-pcm-routing-v2.c

+ 5 - 0
asoc/msm-pcm-routing-v2.c

@@ -23938,6 +23938,11 @@ static uint32_t msm_routing_get_topology(size_t data_size, void *data)
 	uint32_t size = 0;
 
 	/* Retrieve cal_info size from cal data*/
+	if (data_size < sizeof(struct audio_cal_type_basic) +
+			sizeof(struct audio_cal_info_adm_top)) {
+		pr_err("%s: Invalid data size: %zd\n", __func__, data_size);
+		goto done;
+	}
 	size = data_size - sizeof(struct audio_cal_type_basic);
 	cal_info = kzalloc(size, GFP_KERNEL);