From roel.kluin@gmail.com Fri Sep 11 15:43:40 2009 From: Roel Kluin Date: Mon, 31 Aug 2009 10:54:37 +0200 Subject: Staging: comedi: addi-data: NULL dereference of amcc in v_pci_card_list_init() To: Greg Kroah-Hartman , devel@driverdev.osuosl.org, Andrew Morton , wfp5p@virginia.edu Message-ID: <4A9B8FCD.8020708@gmail.com> amcc allocation may fail, prevent a NULL dereference. allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h | 3 +++ drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h | 3 +++ 2 files changed, 6 insertions(+) --- a/drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h +++ b/drivers/staging/comedi/drivers/addi-data/addi_amcc_s5933.h @@ -261,6 +261,9 @@ void v_pci_card_list_init(unsigned short pci_vendor = i_ADDIDATADeviceID[i_Count]; if (pcidev->vendor == pci_vendor) { amcc = kmalloc(sizeof(*amcc), GFP_KERNEL); + if (amcc == NULL) + continue; + memset(amcc, 0, sizeof(*amcc)); amcc->pcidev = pcidev; --- a/drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h +++ b/drivers/staging/comedi/drivers/addi-data/amcc_s5933_58.h @@ -254,6 +254,9 @@ void v_pci_card_list_init(unsigned short pci_for_each_dev(pcidev) { if (pcidev->vendor == pci_vendor) { amcc = kmalloc(sizeof(*amcc), GFP_KERNEL); + if (amcc == NULL) + continue; + memset(amcc, 0, sizeof(*amcc)); amcc->pcidev = pcidev;