Skip to content

Commit

Permalink
[media] dvb_usb_v2: ensure driver_info is not null
Browse files Browse the repository at this point in the history
It could be null in case of driver does not set it
properly, like missing dynamic ID handling.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Aug 4, 2012
1 parent e48b2a6 commit 0a86735
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions drivers/media/dvb/dvb-usb/dvb_usb_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,10 +258,18 @@ int dvb_usbv2_device_init_(struct usb_interface *intf,
struct dvb_usb_device *d = NULL;
struct dvb_usb_driver_info *driver_info =
(struct dvb_usb_driver_info *) id->driver_info;
const struct dvb_usb_device_properties *props = driver_info->props;
const struct dvb_usb_device_properties *props;
int ret = -ENOMEM;
bool cold = false;

if (!id->driver_info) {
pr_err("%s: driver_info is null", KBUILD_MODNAME);
ret = -ENODEV;
goto err;
}

props = driver_info->props;

d = kzalloc(sizeof(struct dvb_usb_device), GFP_KERNEL);
if (d == NULL) {
err("no memory for 'struct dvb_usb_device'");
Expand Down Expand Up @@ -326,7 +334,8 @@ int dvb_usbv2_device_init_(struct usb_interface *intf,
err_kfree:
kfree(d->priv);
kfree(d);

err:
pr_debug("%s: failed=%d\n", __func__, ret);
return ret;
}

Expand Down

0 comments on commit 0a86735

Please sign in to comment.