Even though we trust leds core that the pointers should be valid, we are
safer to check delay_{on|off} before use.

Also, this avoid a smatch warning:
drivers/staging/greybus/light.c:484 gb_blink_set()
warn: variable dereferenced before check 'delay_on' (see line 476)

Signed-off-by: Rui Miguel Silva <rmf...@gmail.com>
---
 drivers/staging/greybus/light.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index f3cd485..80dc4a9 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -463,6 +463,9 @@ static int gb_blink_set(struct led_classdev *cdev, unsigned 
long *delay_on,
        if (channel->releasing)
                return -ESHUTDOWN;
 
+       if (!delay_on || !delay_off)
+               return -EINVAL;
+
        mutex_lock(&channel->lock);
        ret = gb_pm_runtime_get_sync(bundle);
        if (ret < 0)
-- 
2.10.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to