summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/ves1820.c
diff options
context:
space:
mode:
authorGustavo A. R. Silva2018-02-06 17:47:09 +0100
committerMauro Carvalho Chehab2018-02-26 14:07:38 +0100
commit91e0c0c1b05230d703395965d4bf298705819641 (patch)
tree8968b5dce4d73ee1fe36c82a9930e79148c2f333 /drivers/media/dvb-frontends/ves1820.c
parentmedia: rtl2832: use 64-bit arithmetic instead of 32-bit in rtl2832_set_frontend (diff)
downloadkernel-qcow2-linux-91e0c0c1b05230d703395965d4bf298705819641.tar.gz
kernel-qcow2-linux-91e0c0c1b05230d703395965d4bf298705819641.tar.xz
kernel-qcow2-linux-91e0c0c1b05230d703395965d4bf298705819641.zip
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>
Diffstat (limited to 'drivers/media/dvb-frontends/ves1820.c')
-rw-r--r--drivers/media/dvb-frontends/ves1820.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb-frontends/ves1820.c b/drivers/media/dvb-frontends/ves1820.c
index 1d8979289915..17600989f121 100644
--- a/drivers/media/dvb-frontends/ves1820.c
+++ b/drivers/media/dvb-frontends/ves1820.c
@@ -137,7 +137,7 @@ static int ves1820_set_symbolrate(struct ves1820_state *state, u32 symbolrate)
NDEC = 3;
/* yeuch! */
- fpxin = state->config->xin * 10;
+ fpxin = state->config->xin * 10ULL;
fptmp = fpxin; do_div(fptmp, 123);
if (symbolrate < fptmp)
SFIL = 1;