Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 924eccc7 authored by Johan Hovold's avatar Johan Hovold
Browse files

USB: mxu11x0: fix memory leak in port-probe error path



Fix memory leak in port-probe error path by verifying the interrupt-in
urb before allocating the private data.

Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
parent 0b2b093a
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -333,7 +333,11 @@ static int mxu1_port_probe(struct usb_serial_port *port)
{
	struct mxu1_port *mxport;
	struct mxu1_device *mxdev;
	struct urb *urb;

	if (!port->interrupt_in_urb) {
		dev_err(&port->dev, "no interrupt urb\n");
		return -ENODEV;
	}

	mxport = kzalloc(sizeof(struct mxu1_port), GFP_KERNEL);
	if (!mxport)
@@ -344,12 +348,6 @@ static int mxu1_port_probe(struct usb_serial_port *port)

	mxdev = usb_get_serial_data(port->serial);

	urb = port->interrupt_in_urb;
	if (!urb) {
		dev_err(&port->dev, "%s - no interrupt urb\n", __func__);
		return -EINVAL;
	}

	switch (mxdev->mxd_model) {
	case MXU1_1110_PRODUCT_ID:
	case MXU1_1150_PRODUCT_ID: