On Thu, Mar 07, 2019 at 10:32:07AM +0100, Arnd Bergmann wrote:
> clang has spotted an ancient code bug and warns about it with:
> 
> drivers/isdn/isdnloop/isdnloop.c:573:12: error: address of array 
> 'card->rcard' will always evaluate to 'true' 
> [-Werror,-Wpointer-bool-conversion]
> 
> This is an array of pointers, so we should check if a specific
> pointer exists in the array before using it, not whether the
> array itself exists.
> 
> Signed-off-by: Arnd Bergmann <a...@arndb.de>

Reviewed-by: Nathan Chancellor <natechancel...@gmail.com>

> ---
>  drivers/isdn/isdnloop/isdnloop.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/isdn/isdnloop/isdnloop.c 
> b/drivers/isdn/isdnloop/isdnloop.c
> index f4253d468ae1..755c6bbc9553 100644
> --- a/drivers/isdn/isdnloop/isdnloop.c
> +++ b/drivers/isdn/isdnloop/isdnloop.c
> @@ -570,7 +570,7 @@ isdnloop_atimeout(isdnloop_card *card, int ch)
>       char buf[60];
>  
>       spin_lock_irqsave(&card->isdnloop_lock, flags);
> -     if (card->rcard) {
> +     if (card->rcard[ch]) {
>               isdnloop_fake(card->rcard[ch], "DDIS_I", card->rch[ch] + 1);
>               card->rcard[ch]->rcard[card->rch[ch]] = NULL;
>               card->rcard[ch] = NULL;
> -- 
> 2.20.0
> 

Reply via email to