From 79ea00d63e5dcd775eb087af97cafb278dbbf924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 25 Jan 2006 21:29:26 +0000 Subject: [PATCH] added checks for null pointers in pcihdr.h structs git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16092 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/bus_managers/pci/pci_info.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/add-ons/kernel/bus_managers/pci/pci_info.cpp b/src/add-ons/kernel/bus_managers/pci/pci_info.cpp index 17c85c2051..fe89abe5a5 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_info.cpp +++ b/src/add-ons/kernel/bus_managers/pci/pci_info.cpp @@ -662,12 +662,13 @@ get_vendor_info(uint16 vendorID, const char **venShort, const char **venFull) { for (int i = 0; i < (int)PCI_VENTABLE_LEN; i++) { if (PciVenTable[i].VenId == vendorID) { - if (0 == strcmp(PciVenTable[i].VenShort, PciVenTable[i].VenFull)) { + if (PciVenTable[i].VenShort && PciVenTable[i].VenFull + && 0 == strcmp(PciVenTable[i].VenShort, PciVenTable[i].VenFull)) { *venShort = PciVenTable[i].VenShort[0] ? PciVenTable[i].VenShort : NULL; *venFull = NULL; } else { - *venShort = PciVenTable[i].VenShort[0] ? PciVenTable[i].VenShort : NULL; - *venFull = PciVenTable[i].VenFull[0] ? PciVenTable[i].VenFull : NULL; + *venShort = PciVenTable[i].VenShort && PciVenTable[i].VenShort[0] ? PciVenTable[i].VenShort : NULL; + *venFull = PciVenTable[i].VenFull && PciVenTable[i].VenFull[0] ? PciVenTable[i].VenFull : NULL; } return; } @@ -682,8 +683,8 @@ get_device_info(uint16 vendorID, uint16 deviceID, const char **devShort, const c { for (int i = 0; i < (int)PCI_DEVTABLE_LEN; i++) { if (PciDevTable[i].VenId == vendorID && PciDevTable[i].DevId == deviceID ) { - *devShort = PciDevTable[i].Chip[0] ? PciDevTable[i].Chip : NULL; - *devFull = PciDevTable[i].ChipDesc[0] ? PciDevTable[i].ChipDesc : NULL; + *devShort = PciDevTable[i].Chip && PciDevTable[i].Chip[0] ? PciDevTable[i].Chip : NULL; + *devFull = PciDevTable[i].ChipDesc && PciDevTable[i].ChipDesc[0] ? PciDevTable[i].ChipDesc : NULL; return; } }