can: cast value 1U to type u64_t in function can_stm32_set_filter

Potentially overflowing expression 1U << register_demand
I changed to (u64_t)1U << register_demand
To avoid overflow, I casted 1U to type u64_t.

Coverity-CID: 190996
Fixes: #13829
Signed-off-by: Maksim Masalski <maxxliferobot@gmail.com>
This commit is contained in:
Maksim Masalski 2019-02-28 22:36:15 +03:00 committed by Andrew Boie
commit f32b94c46e

View file

@ -655,7 +655,7 @@ static inline int can_stm32_set_filter(const struct zcan_filter *filter,
do { do {
u64_t usage_shifted = (device_data->filter_usage >> filter_nr); u64_t usage_shifted = (device_data->filter_usage >> filter_nr);
u64_t usage_demand_mask = (1U << register_demand) - 1; u64_t usage_demand_mask = ((u64_t)1U << register_demand) - 1;
bool bank_is_empty; bool bank_is_empty;
bank_nr = filter_nr / 4; bank_nr = filter_nr / 4;