Null check vk_icdGetPhysicalDeviceProcAddr
authorCharles Giessen <charles@lunarg.com>
Mon, 31 Oct 2022 22:37:14 +0000 (16:37 -0600)
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>
Mon, 31 Oct 2022 23:19:23 +0000 (17:19 -0600)
Forgotten NULL check causes crashes if a driver forgets to export
vk_icdGetPhysicalDeviceProcAddr but does report a 4 or higher
ICD Interface Version.

loader/unknown_function_handling.c

index 6eb6918b060dd796db05b20ed43692aebb3476fd..2fbb2e79ed6eb7706bb4e263df8b218edea8f349 100644 (file)
@@ -188,6 +188,7 @@ bool loader_check_icds_for_phys_dev_ext_address(struct loader_instance *inst, co
     icd_term = inst->icd_terms;
     while (NULL != icd_term) {
         if (icd_term->scanned_icd->interface_version >= MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION &&
+            icd_term->scanned_icd->GetPhysicalDeviceProcAddr &&
             icd_term->scanned_icd->GetPhysicalDeviceProcAddr(icd_term->instance, funcName))
             // this icd supports funcName
             return true;