提交 70fcd1b7 编写于 作者: H H Hartley Sweeten 提交者: Greg Kroah-Hartman

staging: comedi: ni_670x: fix dereference of an invalid pointer

The attach if this driver can fail before the subdevices are
allocated. If the attach fails the comedi core will call the
detach routine to allow the driver to do it's cleanup.

We need to make sure that the subdevice allocation was successful
before trying to dereference subdevice[0] to free the allocated
range table list.
Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 464c9451
......@@ -301,8 +301,13 @@ static int ni_670x_attach(struct comedi_device *dev,
static void ni_670x_detach(struct comedi_device *dev)
{
struct ni_670x_private *devpriv = dev->private;
struct comedi_subdevice *s;
kfree(dev->subdevices[0].range_table_list);
if (dev->n_subdevices) {
s = dev->subdevices + 0;
if (s)
kfree(s->range_table_list);
}
if (devpriv && devpriv->mite)
mite_unsetup(devpriv->mite);
if (dev->irq)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册