* [PATCH 17/37] dvb: Fix integer overflow bug
@ 2005-11-01 8:14 Michael Krufky
0 siblings, 0 replies; only message in thread
From: Michael Krufky @ 2005-11-01 8:14 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-dvb-maintainer
[-- Attachment #1: Type: text/plain, Size: 2 bytes --]
[-- Attachment #2: 2381.patch --]
[-- Type: text/x-patch, Size: 1784 bytes --]
From: Johannes Stezenbach <js@linuxtv.org>
Fix integer overflow bug in read_signal_strength()
reported by Anthony Leclerc.
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
drivers/media/dvb/frontends/or51132.c | 7 ++++++-
drivers/media/dvb/frontends/or51211.c | 8 ++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
--- linux-2.6.14-git3.orig/drivers/media/dvb/frontends/or51132.c
+++ linux-2.6.14-git3/drivers/media/dvb/frontends/or51132.c
@@ -468,6 +468,7 @@
unsigned char snd_buf[2];
u8 rcvr_stat;
u16 snr_equ;
+ u32 signal_strength;
int usK;
snd_buf[0]=0x04;
@@ -503,7 +504,11 @@
usK = (rcvr_stat & 0x10) ? 3 : 0;
/* The value reported back from the frontend will be FFFF=100% 0000=0% */
- *strength = (((8952 - i20Log10(snr_equ) - usK*100)/3+5)*65535)/1000;
+ signal_strength = (((8952 - i20Log10(snr_equ) - usK*100)/3+5)*65535)/1000;
+ if (signal_strength > 0xffff)
+ *strength = 0xffff;
+ else
+ *strength = signal_strength;
dprintk("read_signal_strength %i\n",*strength);
return 0;
--- linux-2.6.14-git3.orig/drivers/media/dvb/frontends/or51211.c
+++ linux-2.6.14-git3/drivers/media/dvb/frontends/or51211.c
@@ -339,6 +339,7 @@
u8 rec_buf[2];
u8 snd_buf[4];
u8 snr_equ;
+ u32 signal_strength;
/* SNR after Equalizer */
snd_buf[0] = 0x04;
@@ -358,8 +359,11 @@
snr_equ = rec_buf[0] & 0xff;
/* The value reported back from the frontend will be FFFF=100% 0000=0% */
- *strength = (((5334 - i20Log10(snr_equ))/3+5)*65535)/1000;
-
+ signal_strength = (((5334 - i20Log10(snr_equ))/3+5)*65535)/1000;
+ if (signal_strength > 0xffff)
+ *strength = 0xffff;
+ else
+ *strength = signal_strength;
dprintk("read_signal_strength %i\n",*strength);
return 0;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-11-01 8:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-01 8:14 [PATCH 17/37] dvb: Fix integer overflow bug Michael Krufky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox