ASoC: cache: Fix possible ZERO_SIZE_PTR pointer dereferencing error.
Since we cannot make sure the 'reg_size' will always be none zero here, and then if 'reg_size' equals to zero, the kzalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the 'reg_size' zero check before calling kzalloc(). Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
24089e04cb
commit
b59dce53ef
|
@ -72,6 +72,9 @@ int snd_soc_cache_init(struct snd_soc_codec *codec)
|
||||||
|
|
||||||
reg_size = codec_drv->reg_cache_size * codec_drv->reg_word_size;
|
reg_size = codec_drv->reg_cache_size * codec_drv->reg_word_size;
|
||||||
|
|
||||||
|
if (!reg_size)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
mutex_init(&codec->cache_rw_mutex);
|
mutex_init(&codec->cache_rw_mutex);
|
||||||
|
|
||||||
dev_dbg(codec->dev, "ASoC: Initializing cache for %s codec\n",
|
dev_dbg(codec->dev, "ASoC: Initializing cache for %s codec\n",
|
||||||
|
|
Loading…
Reference in New Issue