From: Anton Vasilyev Date: Wed, 18 Jul 2018 14:13:56 +0000 (-0400) Subject: media: dm1105: Limit number of cards to avoid buffer over read X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=65b40a986fc68cb3b362bb855303b73a2b8538c2;p=linux.git media: dm1105: Limit number of cards to avoid buffer over read dm1105_probe() counts number of cards at dm1105_devcount, but missed bounds check before dereference a card array. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Anton Vasilyev Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/pci/dm1105/dm1105.c b/drivers/media/pci/dm1105/dm1105.c index c9db108751a73..1ddb0576fb7b1 100644 --- a/drivers/media/pci/dm1105/dm1105.c +++ b/drivers/media/pci/dm1105/dm1105.c @@ -986,6 +986,9 @@ static int dm1105_probe(struct pci_dev *pdev, int ret = -ENOMEM; int i; + if (dm1105_devcount >= ARRAY_SIZE(card)) + return -ENODEV; + dev = kzalloc(sizeof(struct dm1105_dev), GFP_KERNEL); if (!dev) return -ENOMEM;