media: gspaca: check pointer against NULL before using it in create_urbs()
Subsystems (2)
PATCH 1/1 media: gspaca: check pointer against NULL before using it in create_urbs()
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)); ... ...
}
--- drivers/media/usb/gspca/gspca.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/media/usb/gspca/gspca.c +2 -0
@@ -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);
Signature · 1 line
1.8.3.4 (Apple Git-47)
Cc to linux-media and Hans de Goede (gspca maintainer).
Regards,
Hans
Quoted 29 lines · Ethan Zhao
function
alt_xfer()may return NULL, should check its return value passed intocreate_urbs()as parameter.
gspca_init_transfer()
{
... ...
ret =create_urbs(gspca_dev,alt_xfer(&intf->altsetting[alt], xfer)); ... ...
}Signed-off-by Ethan Zhao <[email protected]>--- drivers/media/usb/gspca/gspca.c | 2 ++ 1 file changed, 2 insertions(+)drivers/media/usb/gspca/gspca.c +2
-0@@ -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);
Hi,
Thanks for the patch, but the return value is already checked earlier on when building the ep_tb table, so it can never return NULL here.
Regards,
Hans
Quoted 36 lines · Hans Verkuil
Cc to linux-media and Hans de Goede (gspca maintainer).
Regards,
Hans
Quoted 29 lines · Ethan Zhao
function
alt_xfer()may return NULL, should check its return value passed intocreate_urbs()as parameter.
gspca_init_transfer()
{
... ...
ret =create_urbs(gspca_dev,alt_xfer(&intf->altsetting[alt], xfer)); ... ...
}Signed-off-by Ethan Zhao <[email protected]>--- drivers/media/usb/gspca/gspca.c | 2 ++ 1 file changed, 2 insertions(+)drivers/media/usb/gspca/gspca.c +2
-0@@ -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);