Commit 3722873d authored by Hao Ge's avatar Hao Ge Committed by Mark Brown

ASoc: PCM6240: Return directly after a failed devm_kzalloc() in pcmdevice_i2c_probe()

The value “-ENOMEM” was assigned to the local variable “ret”
in one if branch after a devm_kzalloc() call failed at the beginning.
This error code will trigger then a pcmdevice_remove() call with a passed
null pointer so that an undesirable dereference will be performed.
Thus return the appropriate error code directly.

Fixes: 1324eafd ("ASoc: PCM6240: Create PCM6240 Family driver code")
Signed-off-by: default avatarHao Ge <gehao@kylinos.cn>
Link: https://patch.msgid.link/20240617020954.17252-1-hao.ge@linux.devSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8978e1f7
......@@ -2087,10 +2087,8 @@ static int pcmdevice_i2c_probe(struct i2c_client *i2c)
#endif
pcm_dev = devm_kzalloc(&i2c->dev, sizeof(*pcm_dev), GFP_KERNEL);
if (!pcm_dev) {
ret = -ENOMEM;
goto out;
}
if (!pcm_dev)
return -ENOMEM;
pcm_dev->chip_id = (id != NULL) ? id->driver_data : 0;
......
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