Thread (6 messages) 6 messages, 3 authors, 2013-03-27

Re: [PATCH] yam: avoid null pointer dereference error

From: Ben Hutchings <hidden>
Date: 2013-03-27 17:44:21
Also in: linux-hams

On Wed, 2013-03-27 at 11:19 +0000, Colin King wrote:
From: Colin Ian King <redacted>

yam_open checks if dev is null, however, before that check it
accesses some of the fields from dev in a proceeding printk which
will cause a null pointer dereference error if dev is nul. Move
the printk to after the null check.
This function will never be called with dev == NULL.

Ben.
quoted hunk ↗ jump to hunk
Smatch analysis:

drivers/net/hamradio/yam.c:869 yam_open() warn: variable
  dereferenced before check 'dev' (see line 867)

Signed-off-by: Colin Ian King <redacted>
---
 drivers/net/hamradio/yam.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index 4cf8f10..e021e51 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -864,10 +864,11 @@ static int yam_open(struct net_device *dev)
 	int i;
 	int ret=0;
 
-	printk(KERN_INFO "Trying %s at iobase 0x%lx irq %u\n", dev->name, dev->base_addr, dev->irq);
-
 	if (!dev || !yp->bitrate)
 		return -ENXIO;
+
+	printk(KERN_INFO "Trying %s at iobase 0x%lx irq %u\n", dev->name, dev->base_addr, dev->irq);
+
 	if (!dev->base_addr || dev->base_addr > 0x1000 - YAM_EXTENT ||
 		dev->irq < 2 || dev->irq > 15) {
 		return -ENXIO;
-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help