[media] s5p-fimc: Prevent potential buffer overflow
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Wed, 5 Dec 2012 16:40:04 +0000 (13:40 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 6 Jan 2013 11:24:43 +0000 (09:24 -0200)
Replace the hard coded csi_sensors[] array size with a relevant
constant to make sure we don't iterate beyond the actual array.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/platform/s5p-fimc/fimc-mdevice.c

index 8b43f982c12d512c8fa409d3f9c7ae3dc6eba835..e77dba7a97b84e66d15c07ec749fdaa44d7f0e26 100644 (file)
@@ -627,7 +627,7 @@ static int __fimc_md_create_flite_source_links(struct fimc_md *fmd)
  */
 static int fimc_md_create_links(struct fimc_md *fmd)
 {
-       struct v4l2_subdev *csi_sensors[2] = { NULL };
+       struct v4l2_subdev *csi_sensors[CSIS_MAX_ENTITIES] = { NULL };
        struct v4l2_subdev *sensor, *csis;
        struct s5p_fimc_isp_info *pdata;
        struct fimc_sensor_info *s_info;
@@ -692,7 +692,7 @@ static int fimc_md_create_links(struct fimc_md *fmd)
                                                       pad, link_mask);
        }
 
-       for (i = 0; i < ARRAY_SIZE(fmd->csis); i++) {
+       for (i = 0; i < CSIS_MAX_ENTITIES; i++) {
                if (fmd->csis[i].sd == NULL)
                        continue;
                source = &fmd->csis[i].sd->entity;