summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-20 01:37:11 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-20 01:37:10 -0700
commite650018e4a745984ee78ea593dbc3ec5e579b2d0 (patch)
tree60514eb8f1f30a5b00d1388629e2ef5c15fb69bc
parent63a4b33cb4fd2fce0a76e9aa0b1e9be28afa06ae (diff)
parent4f19bb77fe0967e4e8aab34a66829618c4927d1f (diff)
Merge "msm: camera: sensor: Validate sensor related name length"
-rw-r--r--drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c b/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c
index 2fd79a696183..891e528f75f1 100644
--- a/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c
+++ b/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c
@@ -793,6 +793,21 @@ int32_t msm_sensor_driver_probe(void *setting,
}
}
+ if (strlen(slave_info->sensor_name) >= MAX_SENSOR_NAME ||
+ strlen(slave_info->eeprom_name) >= MAX_SENSOR_NAME ||
+ strlen(slave_info->actuator_name) >= MAX_SENSOR_NAME ||
+ strlen(slave_info->ois_name) >= MAX_SENSOR_NAME) {
+ pr_err("failed: name len greater than 32.\n");
+ pr_err("sensor name len:%zu, eeprom name len: %zu.\n",
+ strlen(slave_info->sensor_name),
+ strlen(slave_info->eeprom_name));
+ pr_err("actuator name len: %zu, ois name len:%zu.\n",
+ strlen(slave_info->actuator_name),
+ strlen(slave_info->ois_name));
+ rc = -EINVAL;
+ goto free_slave_info;
+ }
+
/* Print slave info */
CDBG("camera id %d Slave addr 0x%X addr_type %d\n",
slave_info->camera_id, slave_info->slave_addr,