diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-01 18:38:29 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-01 18:38:28 -0800 |
commit | 883bdb62f144902ce4d4c664018f2b89d934a77d (patch) | |
tree | 810ae73caa7351c05f6f59326d7d5af3dd7382d6 /drivers | |
parent | fff128602348b2bebd69ceb552fd49c220272b72 (diff) | |
parent | b10a386b8f57a637a74fc5d1441857d31437ee74 (diff) |
Merge "msm: camera: isp: Check userspace parameters"
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c b/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c index 5aa8a59128a8..1628c098622f 100644 --- a/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c +++ b/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c @@ -133,7 +133,7 @@ static void msm_ispif_get_pack_mask_from_cfg( pack_mask[0] |= temp; CDBG("%s:num %d cid %d mode %d pack_mask %x %x\n", __func__, entry->num_cids, entry->cids[i], - pack_cfg[i].pack_mode, + pack_cfg[entry->cids[i]].pack_mode, pack_mask[0], pack_mask[1]); } @@ -166,6 +166,16 @@ static int msm_ispif_config2(struct ispif_device *ispif, } for (i = 0; i < params->num; i++) { + int j; + + if (params->entries[i].num_cids > MAX_CID_CH_PARAM_ENTRY) + return -EINVAL; + for (j = 0; j < params->entries[i].num_cids; j++) + if (params->entries[i].cids[j] >= CID_MAX) + return -EINVAL; + } + + for (i = 0; i < params->num; i++) { intftype = params->entries[i].intftype; vfe_intf = params->entries[i].vfe_intf; |