summaryrefslogtreecommitdiff
path: root/drivers/staging/media/atomisp/i2c/gc2235.h
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2017-07-17 04:58:54 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-07-26 05:46:42 -0400
commitf3aa68405d907cdec852078d73a200608d5aa473 (patch)
treef73ec61f48398d009de864cad07aa9d7e353eb5e /drivers/staging/media/atomisp/i2c/gc2235.h
parent9f5039ba440e499d85c29b1ddbc3cbc9dc90e44b (diff)
media: staging: atomisp: array underflow in ioctl
I noticed an array underflow in ov5693_enum_frame_size(). The code looks like this: int index = fse->index; if (index >= N_RES) retur -EINVAL; fse->index is a u32 that comes from the user. We want negative values to be counted as -EINVAL but they aren't. There are several ways to fix this but I feel like the best fix for future proofing is to change the type of N_RES from int to unsigned long to make it the same as if we were comparing against ARRAY_SIZE(). Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/staging/media/atomisp/i2c/gc2235.h')
-rw-r--r--drivers/staging/media/atomisp/i2c/gc2235.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/media/atomisp/i2c/gc2235.h b/drivers/staging/media/atomisp/i2c/gc2235.h
index ccbc757045a5..7c3d994180cc 100644
--- a/drivers/staging/media/atomisp/i2c/gc2235.h
+++ b/drivers/staging/media/atomisp/i2c/gc2235.h
@@ -668,5 +668,5 @@ struct gc2235_resolution gc2235_res_video[] = {
#define N_RES_VIDEO (ARRAY_SIZE(gc2235_res_video))
static struct gc2235_resolution *gc2235_res = gc2235_res_preview;
-static int N_RES = N_RES_PREVIEW;
+static unsigned long N_RES = N_RES_PREVIEW;
#endif