diff options
author | Rui Miguel Silva <rmfrfs@gmail.com> | 2016-09-30 19:24:33 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-10-02 15:49:26 +0200 |
commit | dc875c77900dba5d177f9219492fd60c046feec8 (patch) | |
tree | 0a4e1543bbd3facabbdf49b7e57d9f0624a33aab /drivers/staging | |
parent | 3855eeec1a47cace93acd5ff89fb3c9bd593d307 (diff) |
staging: greybus: light: check delay_{on|off} before use
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 <rmfrfs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/greybus/light.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c index f3cd48521af0..80dc4a9d9a0e 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) |