diff options
| author | Chunhuan Zhan <zhanc@codeaurora.org> | 2018-08-13 18:02:12 +0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-08-21 05:20:05 -0700 |
| commit | 5373262ff2d36453ebd7f2d5f2a25abfb93f566e (patch) | |
| tree | 880776c2d91ae05f8f3378fda0bd3c00dc860c75 /drivers/media/platform | |
| parent | 7454980b83c63405607d46ae462271a43aa9b57c (diff) | |
msm: ais: change csid to avoid overflow
Check the cid number to be less than MAX_CID in csid.
Change-Id: I16777dc8e8c72e01dc10490cd4c205c939adb7b5
Signed-off-by: Chunhuan Zhan <zhanc@codeaurora.org>
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
Diffstat (limited to 'drivers/media/platform')
| -rw-r--r-- | drivers/media/platform/msm/ais/sensor/csid/msm_csid.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/media/platform/msm/ais/sensor/csid/msm_csid.c b/drivers/media/platform/msm/ais/sensor/csid/msm_csid.c index b820aa45136a..c62f6227e2be 100644 --- a/drivers/media/platform/msm/ais/sensor/csid/msm_csid.c +++ b/drivers/media/platform/msm/ais/sensor/csid/msm_csid.c @@ -812,8 +812,10 @@ static int32_t msm_csid_cmd(struct csid_device *csid_dev, void *arg) unsigned char cid = csid_params.lut_params.vc_cfg_a[i]. cid; - csid_dev->current_csid_params.lut_params.vc_cfg_a[cid] = - csid_params.lut_params.vc_cfg_a[i]; + if (cid < MAX_CID) + csid_dev->current_csid_params.lut_params. + vc_cfg_a[cid] = csid_params.lut_params. + vc_cfg_a[i]; CDBG("vc_cfg_a[%d] : dt=%d, decode_fmt=%d", csid_params.lut_params.vc_cfg_a[i].cid, @@ -851,8 +853,10 @@ static int32_t msm_csid_cmd(struct csid_device *csid_dev, void *arg) unsigned char cid = csid_params.lut_params.vc_cfg_a[i]. cid; - csid_dev->current_csid_params.lut_params.vc_cfg_a[cid] = - csid_params.lut_params.vc_cfg_a[i]; + if (cid < MAX_CID) + csid_dev->current_csid_params.lut_params. + vc_cfg_a[cid] = csid_params.lut_params. + vc_cfg_a[i]; CDBG("vc_cfg_a[%d] : dt=%d, decode_fmt=%d", csid_params.lut_params.vc_cfg_a[i].cid, |
