* [smatch stuff] mmv/VUB300: null dereferences in error handling
@ 2011-05-26 17:14 Dan Carpenter
2011-05-27 3:16 ` [PATCH] mmc: vub300: fix " Chris Ball
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2011-05-26 17:14 UTC (permalink / raw)
To: tony.olech; +Cc: linux-mmc
In vub300_probe() from drivers/mmc/host/vub300.c we dereference
vub300 when it's a NULL variable. Btw, let's remove the bogus
initialization to NULL so that gcc will complain if the bug gets
introduced again.
2119 if (!command_out_urb) {
2120 retval = -ENOMEM;
2121 dev_err(&vub300->udev->dev,
^^^^^^^^^^^^
2122 "not enough memory for the command_out_urb\n");
2123 goto error0;
2124 }
2125 command_res_urb = usb_alloc_urb(0, GFP_KERNEL);
2126 if (!command_res_urb) {
2127 retval = -ENOMEM;
2128 dev_err(&vub300->udev->dev,
^^^^^^^^^^^^
2129 "not enough memory for the command_res_urb\n");
2130 goto error1;
2131 }
2132 /* this also allocates memory for our VUB300 mmc host device */
2133 mmc = mmc_alloc_host(sizeof(struct vub300_mmc_host), &udev->dev);
2134 if (!mmc) {
2135 retval = -ENOMEM;
2136 dev_err(&vub300->udev->dev,
^^^^^^^^^^^^
2137 "not enough memory for the mmc_host\n");
2138 goto error4;
2139 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread* [PATCH] mmc: vub300: fix null dereferences in error handling
2011-05-26 17:14 [smatch stuff] mmv/VUB300: null dereferences in error handling Dan Carpenter
@ 2011-05-27 3:16 ` Chris Ball
0 siblings, 0 replies; 2+ messages in thread
From: Chris Ball @ 2011-05-27 3:16 UTC (permalink / raw)
To: Dan Carpenter; +Cc: tony.olech, linux-mmc
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
---
On Thu, May 26 2011, Dan Carpenter wrote:
> In vub300_probe() from drivers/mmc/host/vub300.c we dereference
> vub300 when it's a NULL variable. Btw, let's remove the bogus
> initialization to NULL so that gcc will complain if the bug gets
> introduced again.
Thanks Dan -- I'll queue this fix up:
diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c
index cbb0330..d4455ff 100644
--- a/drivers/mmc/host/vub300.c
+++ b/drivers/mmc/host/vub300.c
@@ -2096,7 +2096,7 @@ static struct mmc_host_ops vub300_mmc_ops = {
static int vub300_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ /* NOT irq */
- struct vub300_mmc_host *vub300 = NULL;
+ struct vub300_mmc_host *vub300;
struct usb_host_interface *iface_desc;
struct usb_device *udev = usb_get_dev(interface_to_usbdev(interface));
int i;
@@ -2118,23 +2118,20 @@ static int vub300_probe(struct usb_interface *interface,
command_out_urb = usb_alloc_urb(0, GFP_KERNEL);
if (!command_out_urb) {
retval = -ENOMEM;
- dev_err(&vub300->udev->dev,
- "not enough memory for the command_out_urb\n");
+ dev_err(&udev->dev, "not enough memory for command_out_urb\n");
goto error0;
}
command_res_urb = usb_alloc_urb(0, GFP_KERNEL);
if (!command_res_urb) {
retval = -ENOMEM;
- dev_err(&vub300->udev->dev,
- "not enough memory for the command_res_urb\n");
+ dev_err(&udev->dev, "not enough memory for command_res_urb\n");
goto error1;
}
/* this also allocates memory for our VUB300 mmc host device */
mmc = mmc_alloc_host(sizeof(struct vub300_mmc_host), &udev->dev);
if (!mmc) {
retval = -ENOMEM;
- dev_err(&vub300->udev->dev,
- "not enough memory for the mmc_host\n");
+ dev_err(&udev->dev, "not enough memory for the mmc_host\n");
goto error4;
}
/* MMC core transfer sizes tunable parameters */
--
Chris Ball <cjb@laptop.org> <http://printf.net/>
One Laptop Per Child
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-05-27 3:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-26 17:14 [smatch stuff] mmv/VUB300: null dereferences in error handling Dan Carpenter
2011-05-27 3:16 ` [PATCH] mmc: vub300: fix " Chris Ball
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.