[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171204144538.304782-1-arnd@arndb.de>
Date: Mon, 4 Dec 2017 15:45:29 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Jan-Simon Moeller <jansimon.moeller@....de>,
Richard Purdie <rpurdie@...ys.net>,
Jacek Anaszewski <jacek.anaszewski@...il.com>,
Pavel Machek <pavel@....cz>
Cc: Arnd Bergmann <arnd@...db.de>,
Arvind Yadav <arvind.yadav.cs@...il.com>,
linux-leds@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] leds: blinkm: avoid uninitialized data use
gcc-8 reports missing error handling in blinkm_detect, when blinkm()
fails, tmpargs[] is uninitialized:
drivers/leds/leds-blinkm.c: In function 'blinkm_detect':
drivers/leds/leds-blinkm.c:555:6: error: 'tmpargs' may be used uninitialized in this function [-Werror=maybe-uninitialized]
This adds a missing error checks.
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
drivers/leds/leds-blinkm.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
index d03ed6b4176b..851c1920b63c 100644
--- a/drivers/leds/leds-blinkm.c
+++ b/drivers/leds/leds-blinkm.c
@@ -549,8 +549,12 @@ static int blinkm_detect(struct i2c_client *client, struct i2c_board_info *info)
/* make sure the blinkM is balanced (read/writes) */
while (count > 0) {
ret = blinkm_write(client, BLM_GET_ADDR, NULL);
+ if (ret)
+ return ret;
usleep_range(5000, 10000);
ret = blinkm_read(client, BLM_GET_ADDR, tmpargs);
+ if (ret)
+ return ret;
usleep_range(5000, 10000);
if (tmpargs[0] == 0x09)
count = 0;
--
2.9.0
Powered by blists - more mailing lists