[v0.25] Avoid segfault when the pci vendor is not found

This commit is contained in:
Dr-Noob
2023-03-31 15:50:37 +02:00
parent a4006db616
commit 68619aa03e
2 changed files with 4 additions and 2 deletions

View File

@@ -26,7 +26,7 @@ bool pciutils_is_vendor_id_present(struct pci_dev *devices, int id) {
} }
} }
printWarn("Unable to find a valid device for vendor id 0x%.4X using pciutils", id); printErr("Unable to find a valid device for vendor id 0x%.4X using pciutils", id);
return false; return false;
} }

View File

@@ -151,7 +151,9 @@ struct gpu_info* get_gpu_info_cuda(struct pci_dev *devices, int gpu_idx) {
gpu->name = (char *) emalloc(sizeof(char) * (strlen(deviceProp.name) + 1)); gpu->name = (char *) emalloc(sizeof(char) * (strlen(deviceProp.name) + 1));
strcpy(gpu->name, deviceProp.name); strcpy(gpu->name, deviceProp.name);
gpu->pci = get_pci_from_pciutils(devices, PCI_VENDOR_ID_NVIDIA, gpu_idx); if((gpu->pci = get_pci_from_pciutils(devices, PCI_VENDOR_ID_NVIDIA, gpu_idx)) == NULL) {
return NULL;
}
gpu->arch = get_uarch_from_cuda(gpu); gpu->arch = get_uarch_from_cuda(gpu);
gpu->cach = get_cache_info(deviceProp); gpu->cach = get_cache_info(deviceProp);
gpu->mem = get_memory_info(gpu, deviceProp); gpu->mem = get_memory_info(gpu, deviceProp);