summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSigmund Augdal Helberg <sigmund@snap.tv>2006-06-21 10:35:48 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 02:05:19 -0300
commit77e0be12100a3d40abfa46ef54c323b6cfff41ed (patch)
treee0fd08dc93099a49e999404328fefc9082c64a9c /drivers
parentb32474cb8341bb828f2c2800d5dd615b7cd02182 (diff)
downloadlinux-stable-77e0be12100a3d40abfa46ef54c323b6cfff41ed.tar.gz
linux-stable-77e0be12100a3d40abfa46ef54c323b6cfff41ed.tar.bz2
linux-stable-77e0be12100a3d40abfa46ef54c323b6cfff41ed.zip
V4L/DVB (4176): Bug-fix: Fix memory overflow
Do not overflow kernel memory when more than BT878_MAX devices are present. Signed-off-by: Sigmund Augdal Helberg <sigmund@snap.tv> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/bt8xx/bt878.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c
index 5500f8a0ffe2..47281c905149 100644
--- a/drivers/media/dvb/bt8xx/bt878.c
+++ b/drivers/media/dvb/bt8xx/bt878.c
@@ -417,6 +417,11 @@ static int __devinit bt878_probe(struct pci_dev *dev,
printk(KERN_INFO "bt878: Bt878 AUDIO function found (%d).\n",
bt878_num);
+ if (bt878_num >= BT878_MAX) {
+ printk(KERN_ERR "bt878: Too many devices inserted\n");
+ result = -ENOMEM;
+ goto fail0;
+ }
if (pci_enable_device(dev))
return -EIO;