drivers: sensor: bmp180 fix unintentional integer overflow issue
cast partial_x3 explicitly to uint64_t to circumvent unintentioanl integer overflow coverity issue Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit is contained in:
parent
306d2f4a56
commit
50928c0482
1 changed files with 1 additions and 1 deletions
|
@ -327,7 +327,7 @@ static uint32_t bmp180_compensate_press(struct bmp180_data *data)
|
|||
partial_X1 = (cal->ac3 * partial_B6) / 0x2000;
|
||||
partial_X2 = cal->b1 * partial_B6 * (float)(1.0f * partial_B6 / 0x8000000);
|
||||
partial_X3 = (partial_X1 + partial_X2 + 2) / 4;
|
||||
partial_B4 = (uint64_t)(cal->ac4 * (partial_X3 + 32768)) / 0x8000;
|
||||
partial_B4 = (uint64_t)(cal->ac4 * ((int64_t)(partial_X3) + 32768)) >> 15;
|
||||
partial_B7 = (uint64_t)(raw_pressure - partial_B3) * (50000 >> data->osr_pressure);
|
||||
|
||||
comp_press = (uint32_t)(partial_B7 / partial_B4 * 2);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue