Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8a389db502f7b287903b209f925df5570ff5478
Commit:     f8a389db502f7b287903b209f925df5570ff5478
Parent:     c682b3a7fb8ec69ac73511bbb6a378e40aa35f35
Author:     Mauro Carvalho Chehab <[EMAIL PROTECTED]>
AuthorDate: Sat Apr 14 15:17:35 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Apr 27 15:45:35 2007 -0300

    V4L/DVB (5518): Fix a bug on device detection
    
    Thanks to: Thierry MERLE <[EMAIL PROTECTED]> for pointing this
    
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/usbvision/usbvision-cards.c |    1 +
 drivers/media/video/usbvision/usbvision-cards.h |    2 ++
 drivers/media/video/usbvision/usbvision-video.c |    4 ++++
 3 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/usbvision/usbvision-cards.c 
b/drivers/media/video/usbvision/usbvision-cards.c
index c632f12..edee094 100644
--- a/drivers/media/video/usbvision/usbvision-cards.c
+++ b/drivers/media/video/usbvision/usbvision-cards.c
@@ -1027,6 +1027,7 @@ struct usbvision_device_data_st  usbvision_device_data[] 
= {
                .ModelString   = "Hauppauge WinTv-USB",
        },
 };
+const int usbvision_device_data_size=ARRAY_SIZE(usbvision_device_data);
 
 /* Supported Devices */
 
diff --git a/drivers/media/video/usbvision/usbvision-cards.h 
b/drivers/media/video/usbvision/usbvision-cards.h
index 37d619b..766accc 100644
--- a/drivers/media/video/usbvision/usbvision-cards.h
+++ b/drivers/media/video/usbvision/usbvision-cards.h
@@ -63,3 +63,5 @@
 #define PINNA_LINX_VD_IN_CAB_PAL                 62
 #define PINNA_PCTV_BUNGEE_PAL_FM                 63
 #define HPG_WINTV                                64
+
+extern const int usbvision_device_data_size;
diff --git a/drivers/media/video/usbvision/usbvision-video.c 
b/drivers/media/video/usbvision/usbvision-video.c
index aa65093..df030bf 100644
--- a/drivers/media/video/usbvision/usbvision-video.c
+++ b/drivers/media/video/usbvision/usbvision-video.c
@@ -1792,6 +1792,10 @@ static int __devinit usbvision_probe(struct 
usb_interface *intf,
                                dev->descriptor.idProduct, ifnum);
 
        model = devid->driver_info;
+       if ( (model<0) || (model>=usbvision_device_data_size) ) {
+               printk(KERN_INFO "model out of bounds %d\n",model);
+               return -ENODEV;
+       }
        printk(KERN_INFO "%s: %s found\n", __FUNCTION__,
                                usbvision_device_data[model].ModelString);
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to