[PATCH v1 0/1] Parfait changes

STALE3106d

Revision v1 of 5 in this series.

4 messages, 2 authors, 2018-02-20 · open the first message on its own page

[PATCH v1 0/1] Parfait changes

From: Joe Moriarty <hidden>
Date: 2018-02-15 20:27:09

The following patch(s) are bugs found by the static compiler
'Parfait'.  Care was taken to make sure false positive results
were removed from this patchset.

Parfait Overview
================

https://labs.oracle.com/pls/apex/f?p=labs:49:::::P49_PROJECT_ID:13

v1:
Initial release

Joe Moriarty (1):
  drivers: isdn: NULL pointer dereference [null-pointer-deref] (CWE 476)
    problem

 drivers/isdn/mISDN/core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

-- 
2.15.0

[PATCH v1 1/1] drivers: isdn: NULL pointer dereference [null-pointer-deref] (CWE 476) problem

From: Joe Moriarty <hidden>
Date: 2018-02-15 20:27:09

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 <redacted>
Reviewed-by: Jonathan Helman <redacted>
---
 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

Re: [PATCH v1 1/1] drivers: isdn: NULL pointer dereference [null-pointer-deref] (CWE 476) problem

From: David Miller <davem@davemloft.net>
Date: 2018-02-16 21:11:15

From: Joe Moriarty <redacted>
Date: Thu, 15 Feb 2018 15:27:00 -0500
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 <redacted>
Reviewed-by: Jonathan Helman <redacted>
Since the lifetime for the sysfs files for these devices is strictly
smaller than the lifetime of the 'dev' object and it's driver data,
it is not possible for mdev to be NULL in this situation.

I understand what the static checker is trying to do, but within
context this lack of a NULL check is legitimate.

I'm not applying this, sorry.

Re: [PATCH v1 1/1] drivers: isdn: NULL pointer dereference [null-pointer-deref] (CWE 476) problem

From: Joe Moriarty <hidden>
Date: 2018-02-20 13:47:19

On 2/16/2018 4:11 PM, David Miller wrote:
From: Joe Moriarty <redacted>
Date: Thu, 15 Feb 2018 15:27:00 -0500
quoted
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 <redacted>
Reviewed-by: Jonathan Helman <redacted>
Since the lifetime for the sysfs files for these devices is strictly
smaller than the lifetime of the 'dev' object and it's driver data,
it is not possible for mdev to be NULL in this situation.

I understand what the static checker is trying to do, but within
context this lack of a NULL check is legitimate.

I'm not applying this, sorry.
Thanks for the review David and there is no reason to be sorry.  I'll 
will mark this as a false positive result from our static checker.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help