Re: [PATCH] [media] cx231xx-cards: fix NULL-deref on missing association descriptor
On Thu, Sep 21, 2017 at 10:40 AM, Johan Hovoldwrote: > Make sure to check that we actually have an Interface Association > Descriptor before dereferencing it during probe to avoid dereferencing a > NULL-pointer. > > Fixes: e0d3bafd0258 ("V4L/DVB (10954): Add cx231xx USB driver") > Cc: stable # 2.6.30 > Cc: Sri Deevi > Reported-by: Andrey Konovalov > Signed-off-by: Johan Hovold Tested-by: Andrey Konovalov Thanks! > --- > drivers/media/usb/cx231xx/cx231xx-cards.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c > b/drivers/media/usb/cx231xx/cx231xx-cards.c > index e0daa9b6c2a0..9b742d569fb5 100644 > --- a/drivers/media/usb/cx231xx/cx231xx-cards.c > +++ b/drivers/media/usb/cx231xx/cx231xx-cards.c > @@ -1684,7 +1684,7 @@ static int cx231xx_usb_probe(struct usb_interface > *interface, > nr = dev->devno; > > assoc_desc = udev->actconfig->intf_assoc[0]; > - if (assoc_desc->bFirstInterface != ifnum) { > + if (!assoc_desc || assoc_desc->bFirstInterface != ifnum) { > dev_err(d, "Not found matching IAD interface\n"); > retval = -ENODEV; > goto err_if; > -- > 2.14.1 >
[PATCH] [media] cx231xx-cards: fix NULL-deref on missing association descriptor
Make sure to check that we actually have an Interface Association Descriptor before dereferencing it during probe to avoid dereferencing a NULL-pointer. Fixes: e0d3bafd0258 ("V4L/DVB (10954): Add cx231xx USB driver") Cc: stable# 2.6.30 Cc: Sri Deevi Reported-by: Andrey Konovalov Signed-off-by: Johan Hovold --- drivers/media/usb/cx231xx/cx231xx-cards.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c b/drivers/media/usb/cx231xx/cx231xx-cards.c index e0daa9b6c2a0..9b742d569fb5 100644 --- a/drivers/media/usb/cx231xx/cx231xx-cards.c +++ b/drivers/media/usb/cx231xx/cx231xx-cards.c @@ -1684,7 +1684,7 @@ static int cx231xx_usb_probe(struct usb_interface *interface, nr = dev->devno; assoc_desc = udev->actconfig->intf_assoc[0]; - if (assoc_desc->bFirstInterface != ifnum) { + if (!assoc_desc || assoc_desc->bFirstInterface != ifnum) { dev_err(d, "Not found matching IAD interface\n"); retval = -ENODEV; goto err_if; -- 2.14.1