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

Commit de8f8bd6 authored by Oliver Neukum's avatar Oliver Neukum Committed by Greg Kroah-Hartman
Browse files

Staging: serqt_usb2: fix memory leak in error case



a standard memory leak, as later allocations may fail even if prior
allocations did not. Then the prior allocations must be undone.

Signed-off-by: default avatarOliver Neukum <oliver@neukum.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f3a75688
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -738,6 +738,11 @@ static int qt_startup(struct usb_serial *serial)
		if (!qt_port) {
			dbg("%s: kmalloc for quatech_port (%d) failed!.",
			    __func__, i);
			for(--i; i >= 0; i--) {
				port = serial->port[i];
				kfree(usb_get_serial_port_data(port));
				usb_set_serial_port_data(port, NULL);
			}
			return -ENOMEM;
		}
		spin_lock_init(&qt_port->lock);