diff options
author | Cezary Rojewski <cezary.rojewski@intel.com> | 2019-06-13 22:04:34 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-06-25 17:33:50 +0300 |
commit | 9f4f42d710d417745cff05845f93370126f77ff7 (patch) | |
tree | 371ea0c8797702d7188a8fd865841d9081d3b793 /sound/soc/intel | |
parent | 26ae20490809db30677dfd54f81a73ce77ba2df1 (diff) | |
download | linux-9f4f42d710d417745cff05845f93370126f77ff7.tar.xz |
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: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r-- | sound/soc/intel/common/sst-ipc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/intel/common/sst-ipc.c b/sound/soc/intel/common/sst-ipc.c index dcff13802c00..fc3340f1da3a 100644 --- a/sound/soc/intel/common/sst-ipc.c +++ b/sound/soc/intel/common/sst-ipc.c @@ -71,7 +71,7 @@ static int tx_wait_done(struct sst_generic_ipc *ipc, } else { /* copy the data returned from DSP */ - if (msg->rx_size) + if (rx_data) memcpy(rx_data, msg->rx_data, msg->rx_size); ret = msg->errno; } |