Skip to content

Commit c3da4e3

Browse files
committed
module_adapter: fix double-free of base_cfg_ext data
Fix handling of input_pins free. Module reset can be called multiple times, so move the resource release to module_adapter_free(). Fixes: 7046004 ("module_adapter_ipc4: Save and pre-parse base_cfg_ext data") Signed-off-by: Kai Vehmanen <[email protected]>
1 parent ff9343a commit c3da4e3

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/audio/module_adapter/module_adapter.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1338,10 +1338,6 @@ int module_adapter_reset(struct comp_dev *dev)
13381338
rfree(mod->stream_params);
13391339
mod->stream_params = NULL;
13401340

1341-
#if CONFIG_IPC_MAJOR_4
1342-
rfree(mod->priv.cfg.input_pins);
1343-
#endif
1344-
13451341
comp_dbg(dev, "module_adapter_reset(): done");
13461342

13471343
return comp_set_state(dev, COMP_TRIGGER_RESET);
@@ -1371,6 +1367,10 @@ void module_adapter_free(struct comp_dev *dev)
13711367
buffer_free(buffer);
13721368
}
13731369

1370+
#if CONFIG_IPC_MAJOR_4
1371+
rfree(mod->priv.cfg.input_pins);
1372+
#endif
1373+
13741374
rfree(mod);
13751375
rfree(dev);
13761376
}

0 commit comments

Comments
 (0)