2019-01-04 03:23:44

by Yizhuo Zhai

[permalink] [raw]
Subject: [PATCH] Variable "val" in function rt274_i2c_probe() could be uninitialized

Inside function rt274_i2c_probe(), if regmap_read() function
returns -EINVAL, then local variable "val" leaves uninitialized
but used in if statement. This is potentially unsafe.

Signed-off-by: Yizhuo <[email protected]>
---
sound/soc/codecs/rt274.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/rt274.c b/sound/soc/codecs/rt274.c
index 8f92e5c4dd9d..cd048df76232 100644
--- a/sound/soc/codecs/rt274.c
+++ b/sound/soc/codecs/rt274.c
@@ -1128,8 +1128,11 @@ static int rt274_i2c_probe(struct i2c_client *i2c,
return ret;
}

- regmap_read(rt274->regmap,
+ ret = regmap_read(rt274->regmap,
RT274_GET_PARAM(AC_NODE_ROOT, AC_PAR_VENDOR_ID), &val);
+ if (ret)
+ return ret;
+
if (val != RT274_VENDOR_ID) {
dev_err(&i2c->dev,
"Device with ID register %#x is not rt274\n", val);
--
2.17.1



2019-01-04 16:50:14

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] Variable "val" in function rt274_i2c_probe() could be uninitialized

On Thu, Jan 03, 2019 at 01:59:12PM -0800, Yizhuo wrote:
> Inside function rt274_i2c_probe(), if regmap_read() function
> returns -EINVAL, then local variable "val" leaves uninitialized
> but used in if statement. This is potentially unsafe.

Please use subject lines matching the style for the subsystem. This
makes it easier for people to identify relevant patches.


Attachments:
(No filename) (375.00 B)
signature.asc (499.00 B)
Download all attachments