function alt_xfer() may return NULL, should check its return value passed into create_urbs() as parameter.
gspca_init_transfer() { ... ... ret = create_urbs(gspca_dev,alt_xfer(&intf->altsetting[alt], xfer)); ... ... } Signed-off-by: Ethan Zhao <ethan.ker...@gmail.com> --- drivers/media/usb/gspca/gspca.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/usb/gspca/gspca.c b/drivers/media/usb/gspca/gspca.c index 048507b..eb45bc0 100644 --- a/drivers/media/usb/gspca/gspca.c +++ b/drivers/media/usb/gspca/gspca.c @@ -761,6 +761,8 @@ static int create_urbs(struct gspca_dev *gspca_dev, struct urb *urb; int n, nurbs, i, psize, npkt, bsize; + if (!ep) + return -EINVAL; /* calculate the packet size and the number of packets */ psize = le16_to_cpu(ep->desc.wMaxPacketSize); -- 1.8.3.4 (Apple Git-47) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/