Forráskód Böngészése

Merge "lsm: fix potential Null pointer dereference"

qctecmdr 4 éve
szülő
commit
668ef31d07
1 módosított fájl, 12 hozzáadás és 8 törlés
  1. 12 8
      asoc/msm-lsm-client.c

+ 12 - 8
asoc/msm-lsm-client.c

@@ -2404,10 +2404,13 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
 	case SNDRV_LSM_SET_MODULE_PARAMS_V2: {
 		struct snd_lsm_module_params p_data;
 		struct lsm_params_info *temp_ptr_info = NULL;
+		struct lsm_params_info_v2 info_v2;
 		struct lsm_params_info_v2 *ptr_info_v2 = NULL, *temp_ptr_info_v2 = NULL;
 		size_t p_size = 0, count;
 		u8 *params;
 
+		memset(&info_v2, 0, sizeof(info_v2));
+
 		if (!prtd->lsm_client->use_topology) {
 			dev_err(rtd->dev,
 				"%s: %s: not supported if not using topology\n",
@@ -2472,16 +2475,17 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
 		for (count = 0; count < p_data.num_params; count++) {
 			if (cmd == SNDRV_LSM_SET_MODULE_PARAMS) {
 				/* convert to V2 param info struct from legacy param info */
-				ptr_info_v2->module_id = temp_ptr_info->module_id;
-				ptr_info_v2->param_id = temp_ptr_info->param_id;
-				ptr_info_v2->param_size = temp_ptr_info->param_size;
-				ptr_info_v2->param_data = temp_ptr_info->param_data;
-				ptr_info_v2->param_type = temp_ptr_info->param_type;
+				info_v2.module_id = temp_ptr_info->module_id;
+				info_v2.param_id = temp_ptr_info->param_id;
+				info_v2.param_size = temp_ptr_info->param_size;
+				info_v2.param_data = temp_ptr_info->param_data;
+				info_v2.param_type = temp_ptr_info->param_type;
 
-				ptr_info_v2->instance_id = INSTANCE_ID_0;
-				ptr_info_v2->stage_idx = LSM_STAGE_INDEX_FIRST;
-				ptr_info_v2->model_id = 0;
+				info_v2.instance_id = INSTANCE_ID_0;
+				info_v2.stage_idx = LSM_STAGE_INDEX_FIRST;
+				info_v2.model_id = 0;
 
+				ptr_info_v2 = &info_v2;
 				temp_ptr_info++;
 			} else {
 				if (LSM_REG_MULTI_SND_MODEL != temp_ptr_info_v2->param_type ||