Commit 9f4f42d7 authored by Cezary Rojewski's avatar Cezary Rojewski Committed by Mark Brown

ASoC: Intel: Common: Fix NULL dereference in tx_wait_done

rx_data and rx_bytes present for tx_wait_done are optional parameters.
If not provided, function should not attempt to copy received data.
This change fixes memcpy NULL pointer dereference issue occurring when
optional rx_data is NULL while received message size is non-zero.
Signed-off-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 26ae2049
...@@ -71,7 +71,7 @@ static int tx_wait_done(struct sst_generic_ipc *ipc, ...@@ -71,7 +71,7 @@ static int tx_wait_done(struct sst_generic_ipc *ipc,
} else { } else {
/* copy the data returned from DSP */ /* copy the data returned from DSP */
if (msg->rx_size) if (rx_data)
memcpy(rx_data, msg->rx_data, msg->rx_size); memcpy(rx_data, msg->rx_data, msg->rx_size);
ret = msg->errno; ret = msg->errno;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment