mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
V4L/DVB (8955): bttv: Prevent NULL pointer dereference in radio_open
Fix the following crash in the bttv driver: BUG: unable to handle kernel NULL pointer dereference at 000000000000036c IP: [<ffffffffa037860a>] radio_open+0x3a/0x170 [bttv] This happens because radio_open assumes that all present bttv devices have a radio function. If a bttv device without radio and one with radio are installed on the same system, and the one without radio is registered first, then radio_open checks for the radio device number of a bttv device that has no radio function, and this breaks. All we have to do to fix it is to skip bttv devices without a radio function. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
c737684b51
commit
c37396c194
@ -3431,7 +3431,7 @@ static int radio_open(struct inode *inode, struct file *file)
|
||||
dprintk("bttv: open minor=%d\n",minor);
|
||||
|
||||
for (i = 0; i < bttv_num; i++) {
|
||||
if (bttvs[i].radio_dev->minor == minor) {
|
||||
if (bttvs[i].radio_dev && bttvs[i].radio_dev->minor == minor) {
|
||||
btv = &bttvs[i];
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user