diff --git a/drivers/media/platform/msm/camera_v2/sensor/csid/msm_csid.c b/drivers/media/platform/msm/camera_v2/sensor/csid/msm_csid.c
index 78136d32da840e6cf1c2e840723d25041be91bc9..04068c2f62c9074858e7694cde9e3e937ddaaf6c 100644
--- a/drivers/media/platform/msm/camera_v2/sensor/csid/msm_csid.c
+++ b/drivers/media/platform/msm/camera_v2/sensor/csid/msm_csid.c
@@ -48,6 +48,13 @@ static int msm_csid_cid_lut(
 		return -EINVAL;
 	}
 	for (i = 0; i < csid_lut_params->num_cid && i < 16; i++) {
+		if (csid_lut_params->vc_cfg[i]->cid >=
+			csid_lut_params->num_cid ||
+			csid_lut_params->vc_cfg[i]->cid < 0) {
+				pr_err("%s: cid outside range %d\n",
+					__func__, csid_lut_params->vc_cfg[i]->cid);
+				return -EINVAL;
+		}
 		CDBG("%s lut params num_cid = %d, cid = %d, dt = %x, df = %d\n",
 			__func__,
 			csid_lut_params->num_cid,