Browse Source

staging: line6: do not return 0 from probe if no initialization done

There is a strange "return 0" in line6_probe() before any initialization of
the module is done. It can lead to NULL pointer dereference in other functions.
The patch proposes to return -ENODEV in this case.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexey Khoroshilov 11 năm trước cách đây
mục cha
commit
c7f268df3f
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      drivers/staging/line6/driver.c

+ 1 - 1
drivers/staging/line6/driver.c

@@ -663,7 +663,7 @@ static int line6_probe(struct usb_interface *interface,
 	case LINE6_DEVID_POCKETPOD:
 		switch (interface_number) {
 		case 0:
-			return 0;	/* this interface has no endpoints */
+			return -ENODEV;	/* this interface has no endpoints */
 		case 1:
 			alternate = 0;
 			break;