Skip to content

Commit e911e99

Browse files
rustylifedavem330
authored andcommitted
usb: hso: check for return value in hso_serial_common_create()
in case of an error tty_register_device_attr() returns ERR_PTR(), add IS_ERR() check Reported-and-tested-by: [email protected] Link: https://syzkaller.appspot.com/bug?extid=67b2bd0e34f952d0321e Signed-off-by: Rustam Kovhaev <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 7a9212d commit e911e99

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/net/usb/hso.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2261,12 +2261,14 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs,
22612261

22622262
minor = get_free_serial_index();
22632263
if (minor < 0)
2264-
goto exit;
2264+
goto exit2;
22652265

22662266
/* register our minor number */
22672267
serial->parent->dev = tty_port_register_device_attr(&serial->port,
22682268
tty_drv, minor, &serial->parent->interface->dev,
22692269
serial->parent, hso_serial_dev_groups);
2270+
if (IS_ERR(serial->parent->dev))
2271+
goto exit2;
22702272

22712273
/* fill in specific data for later use */
22722274
serial->minor = minor;
@@ -2311,6 +2313,7 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs,
23112313
return 0;
23122314
exit:
23132315
hso_serial_tty_unregister(serial);
2316+
exit2:
23142317
hso_serial_common_free(serial);
23152318
return -1;
23162319
}

0 commit comments

Comments
 (0)