Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dbc80ca authored by Jie Yang's avatar Jie Yang Committed by Mark Brown
Browse files

ASoC: Intel: check and clear runtime module pointer



Add check runtime module pointers before freeing them, and clear
them to NULL after freed.

With this implemented, we can avoid NULL pointer dereference or
double free errors.

Signed-off-by: default avatarJie Yang <yang.jie@intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6e5132f7
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -928,10 +928,15 @@ static void hsw_pcm_free_modules(struct hsw_priv_data *pdata)

	for (i = 0; i < ARRAY_SIZE(mod_map); i++) {
		pcm_data = &pdata->pcm[mod_map[i].dai_id][mod_map[i].stream];
		if (pcm_data->runtime){
			sst_hsw_runtime_module_free(pcm_data->runtime);
			pcm_data->runtime = NULL;
		}
	if (sst_hsw_is_module_loaded(hsw, SST_HSW_MODULE_WAVES)) {
	}
	if (sst_hsw_is_module_loaded(hsw, SST_HSW_MODULE_WAVES) &&
				pdata->runtime_waves) {
		sst_hsw_runtime_module_free(pdata->runtime_waves);
		pdata->runtime_waves = NULL;
	}
}