OSDN Git Service

ASoC: Intel: Fix use of potentially uninitialized variable
authorAmadeusz Sławiński <amadeuszx.slawinski@intel.com>
Tue, 27 Aug 2019 14:17:08 +0000 (16:17 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 27 Aug 2019 18:23:50 +0000 (19:23 +0100)
If ipc->ops.reply_msg_match is NULL, we may end up using uninitialized
mask value.

reported by smatch:
sound/soc/intel/common/sst-ipc.c:266 sst_ipc_reply_find_msg() error: uninitialized symbol 'mask'.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@intel.com>
Link: https://lore.kernel.org/r/20190827141712.21015-3-amadeuszx.slawinski@linux.intel.com
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
sound/soc/intel/common/sst-ipc.c

index ef5b66a..3a66121 100644 (file)
@@ -222,6 +222,8 @@ struct ipc_message *sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc,
 
        if (ipc->ops.reply_msg_match != NULL)
                header = ipc->ops.reply_msg_match(header, &mask);
+       else
+               mask = (u64)-1;
 
        if (list_empty(&ipc->rx_list)) {
                dev_err(ipc->dev, "error: rx list empty but received 0x%llx\n",