sof
sof copied to clipboard
Audio: Module adapter: Fix in IPC4 invalid blob pass to init()
The cfg->size is the size of ipc4_base_module_cfg. The cfg->data is NULL but when such is encountered the comp_init_data_blob() allocates a zero bytes of size.
Such blob is illegal and e.g. IIR will fail if not another blob is received by prepare(). DC block operates, but applies a rather high cut-off frequency that results to silent audio for e.g. lower voice frequencies. What happens with such illegal blob is component specific.
The expected operation for most components is pass-through when a configuration blob is not set. This change should ensure that the component is not initialized with incorrect bytes control data if such is not passed with topology.