Commit 1f5ef19779df2c2f75870332b37dd3004c08a515 added the following
function to drivers/media/video/tuner-core.c:
<-- snip -->
static int fe_has_signal(struct tuner *t)
{
struct dvb_tuner_ops *fe_tuner_ops = &t->fe.ops.tuner_ops;
u16 strength;
if (fe_tuner_ops->get_rf_strength)
fe_tuner_ops->get_rf_strength(&t->fe, &strength);
return strength;
}
<-- snip -->
If (!fe_tuner_ops->get_rf_strength) this function returns the value of
an uninitialized variable.
Spotted by the Coverity checker.
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
Adrian Bunk wrote:
> Commit 1f5ef19779df2c2f75870332b37dd3004c08a515 added the following
> function to drivers/media/video/tuner-core.c:
>
> <-- snip -->
>
> static int fe_has_signal(struct tuner *t)
> {
> struct dvb_tuner_ops *fe_tuner_ops = &t->fe.ops.tuner_ops;
> u16 strength;
>
> if (fe_tuner_ops->get_rf_strength)
> fe_tuner_ops->get_rf_strength(&t->fe, &strength);
>
> return strength;
> }
>
> <-- snip -->
>
>
> If (!fe_tuner_ops->get_rf_strength) this function returns the value of
> an uninitialized variable.
>
> Spotted by the Coverity checker.
>
Thank you, Adrian. I've fixed this in my tree:
http://linuxtv.org/hg/~mkrufky/v4l-dvb/rev/101ca558a777
Mauro, please pull from:
http://linuxtv.org/hg/~mkrufky/v4l-dvb
for:
- tuner-core.c: fe_has_signal() can return uninitialized value
tuner-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Please send this to Linus for 2.6.24
Regards,
Mike