mirror of https://gitee.com/openkylin/linux.git
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: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
6e5132f79a
commit
2dbc80caf7
|
@ -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];
|
||||
sst_hsw_runtime_module_free(pcm_data->runtime);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue