Skip to content

Commit

Permalink
can: Fix possible NULL pointer dereference in ems_usb.c
Browse files Browse the repository at this point in the history
In ems_usb_probe(), a pointer is dereferenced after making sure it is NULL...

This patch replaces netdev->dev.parent with &intf->dev in dev_err() calls to
avoid this.

Signed-off-by: "Hans J. Koch" <hjk@linutronix.de>
Acked-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Hans J. Koch authored and David S. Miller committed Apr 21, 2010
1 parent 05d1760 commit 1c0b28b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/net/can/usb/ems_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,7 @@ static int ems_usb_probe(struct usb_interface *intf,

netdev = alloc_candev(sizeof(struct ems_usb), MAX_TX_URBS);
if (!netdev) {
dev_err(netdev->dev.parent, "Couldn't alloc candev\n");
dev_err(&intf->dev, "ems_usb: Couldn't alloc candev\n");
return -ENOMEM;
}

Expand Down Expand Up @@ -1036,20 +1036,20 @@ static int ems_usb_probe(struct usb_interface *intf,

dev->intr_urb = usb_alloc_urb(0, GFP_KERNEL);
if (!dev->intr_urb) {
dev_err(netdev->dev.parent, "Couldn't alloc intr URB\n");
dev_err(&intf->dev, "Couldn't alloc intr URB\n");
goto cleanup_candev;
}

dev->intr_in_buffer = kzalloc(INTR_IN_BUFFER_SIZE, GFP_KERNEL);
if (!dev->intr_in_buffer) {
dev_err(netdev->dev.parent, "Couldn't alloc Intr buffer\n");
dev_err(&intf->dev, "Couldn't alloc Intr buffer\n");
goto cleanup_intr_urb;
}

dev->tx_msg_buffer = kzalloc(CPC_HEADER_SIZE +
sizeof(struct ems_cpc_msg), GFP_KERNEL);
if (!dev->tx_msg_buffer) {
dev_err(netdev->dev.parent, "Couldn't alloc Tx buffer\n");
dev_err(&intf->dev, "Couldn't alloc Tx buffer\n");
goto cleanup_intr_in_buffer;
}

Expand Down

0 comments on commit 1c0b28b

Please sign in to comment.