Commit f4362867 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: unionxx5: fix memory leak during subdevice init

In the subdevice init during the attach of this driver, private data
is allocated for each subdevice. The pointer to this data is then
saved in the subdevice 's->private' so it can be free'ed during the
detach.

In __unioxx5_subdev_init() an error path exists that can happen before
the allocated pointer is saved in s->private. Make sure the allocated
memory is free'ed before returning the error.
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fb868541
......@@ -380,8 +380,10 @@ static int __unioxx5_subdev_init(struct comedi_device *dev,
return -ENOMEM;
ret = __comedi_request_region(dev, iobase, UNIOXX5_SIZE);
if (ret)
if (ret) {
kfree(usp);
return ret;
}
usp->usp_iobase = iobase;
/* defining modules types */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment