The Parfait (version 2.1.0) static code analysis tool found the
following NULL pointer dereference problem.

- drivers/isdn/mISDN/core.c
function channelmap_show() does not check the returned mdev
variable from dev_to_mISDN() for NULL.  Added the check for
NULL, which results in a value of 0 being returned.

Signed-off-by: Joe Moriarty <joe.moria...@oracle.com>
Reviewed-by: Jonathan Helman <jonathan.hel...@oracle.com>
---
 drivers/isdn/mISDN/core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/isdn/mISDN/core.c b/drivers/isdn/mISDN/core.c
index faf505462a4f..aec7e2706109 100644
--- a/drivers/isdn/mISDN/core.c
+++ b/drivers/isdn/mISDN/core.c
@@ -129,8 +129,10 @@ static ssize_t channelmap_show(struct device *dev,
        char *bp = buf;
        int i;
 
-       for (i = 0; i <= mdev->nrbchan; i++)
-               *bp++ = test_channelmap(i, mdev->channelmap) ? '1' : '0';
+       if (mdev)
+               for (i = 0; i <= mdev->nrbchan; i++)
+                       *bp++ = test_channelmap(i, mdev->channelmap) ?
+                               '1' : '0';
 
        return bp - buf;
 }
-- 
2.15.0

Reply via email to