V4L/DVB (13325): gspca - pac7302/pac7311: Fix buffer overrun.
authorMarton Nemeth <nm127@freemail.hu>
Thu, 5 Nov 2009 08:40:46 +0000 (05:40 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:41:21 +0000 (18:41 -0200)
The reg_w_seq() function expects the sequence length in entries
and not in bytes. One entry in init_7302 and init_7311 is two
bytes and not one.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/pac7302.c
drivers/media/video/gspca/pac7311.c

index 60d1a31..09d3d19 100644 (file)
@@ -571,7 +571,7 @@ static void sethvflip(struct gspca_dev *gspca_dev)
 /* this function is called at probe and resume time for pac7302 */
 static int sd_init(struct gspca_dev *gspca_dev)
 {
-       reg_w_seq(gspca_dev, init_7302, sizeof init_7302);
+       reg_w_seq(gspca_dev, init_7302, sizeof(init_7302)/2);
 
        return 0;
 }
index 82cdd43..b1127d9 100644 (file)
@@ -469,7 +469,7 @@ static void sethvflip(struct gspca_dev *gspca_dev)
 /* this function is called at probe and resume time for pac7311 */
 static int sd_init(struct gspca_dev *gspca_dev)
 {
-       reg_w_seq(gspca_dev, init_7311, sizeof init_7311);
+       reg_w_seq(gspca_dev, init_7311, sizeof(init_7311)/2);
 
        return 0;
 }