msm: camera: eeprom: Fix OOB condition for memory map count
Fix OOB check for memory map count to access correct memory map. Change-Id: Ifa3d323103725e4df57e86295bb7567835654b71 Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
This commit is contained in:
parent
a52b95db19
commit
146826aa41
@ -435,7 +435,8 @@ static int32_t cam_eeprom_parse_memory_map(
|
||||
validate_size = sizeof(struct cam_cmd_unconditional_wait);
|
||||
|
||||
if (remain_buf_len < validate_size ||
|
||||
*num_map >= MSM_EEPROM_MAX_MEM_MAP_CNT) {
|
||||
*num_map >= (MSM_EEPROM_MAX_MEM_MAP_CNT *
|
||||
MSM_EEPROM_MEMORY_MAP_MAX_SIZE)) {
|
||||
CAM_ERR(CAM_EEPROM, "not enough buffer");
|
||||
return -EINVAL;
|
||||
}
|
||||
@ -445,7 +446,9 @@ static int32_t cam_eeprom_parse_memory_map(
|
||||
|
||||
if (i2c_random_wr->header.count == 0 ||
|
||||
i2c_random_wr->header.count >= MSM_EEPROM_MAX_MEM_MAP_CNT ||
|
||||
(size_t)*num_map > U16_MAX - i2c_random_wr->header.count) {
|
||||
(size_t)*num_map >= ((MSM_EEPROM_MAX_MEM_MAP_CNT *
|
||||
MSM_EEPROM_MEMORY_MAP_MAX_SIZE) -
|
||||
i2c_random_wr->header.count)) {
|
||||
CAM_ERR(CAM_EEPROM, "OOB Error");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user