media: dvb-frontends: ves1820: use 64-bit arithmetic instead of 32-bit
Add suffix ULL to constant 10 in order to give the compiler complete information about the proper arithmetic to use. Notice that this constant is used in a context that expects an expression of type u64 (64 bits, unsigned). The expression fpxin = state->config->xin * 10 is currently being evaluated using 32-bit arithmetic. Addresses-Coverity-ID: 200604 ("Unintentional integer overflow") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
1ae207fa7b
commit
91e0c0c1b0
|
@ -137,7 +137,7 @@ static int ves1820_set_symbolrate(struct ves1820_state *state, u32 symbolrate)
|
||||||
NDEC = 3;
|
NDEC = 3;
|
||||||
|
|
||||||
/* yeuch! */
|
/* yeuch! */
|
||||||
fpxin = state->config->xin * 10;
|
fpxin = state->config->xin * 10ULL;
|
||||||
fptmp = fpxin; do_div(fptmp, 123);
|
fptmp = fpxin; do_div(fptmp, 123);
|
||||||
if (symbolrate < fptmp)
|
if (symbolrate < fptmp)
|
||||||
SFIL = 1;
|
SFIL = 1;
|
||||||
|
|
Loading…
Reference in New Issue