diff options
author | Danny Zhu <danny@netflt.com> | 2022-10-22 06:06:31 +0300 |
---|---|---|
committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | 2022-10-25 18:08:22 +0300 |
commit | 7626527833c7bc1b28a80b6dfbd0e8506fc41339 (patch) | |
tree | d842baf3de7ca31abc4e18bf36e28fad060e58aa | |
parent | 81d813667d4bc71806e426e8da8d86ccf40eb62a (diff) |
fix: add dev pointer checking
-rw-r--r-- | loader/generated/vk_loader_extensions.c | 5 | ||||
-rw-r--r-- | loader/loader.c | 10 |
2 files changed, 6 insertions, 9 deletions
diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 1a16c8217..5cdd3076d 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c @@ -9536,11 +9536,6 @@ void extensions_create_instance(struct loader_instance *ptr_instance, const VkIn PFN_vkVoidFunction get_extension_device_proc_terminator(struct loader_device *dev, const char *pName) { PFN_vkVoidFunction addr = NULL; - if (dev == NULL) - { - return addr; - } - // ---- VK_KHR_swapchain extension commands if (dev->extensions.khr_swapchain_enabled) { if(!strcmp(pName, "vkCreateSwapchainKHR")) { diff --git a/loader/loader.c b/loader/loader.c index 373c2b456..84031dfb4 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -192,7 +192,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkSetDeviceDispatch(VkDevice device, void *object struct loader_device *dev; struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev, NULL); - if (NULL == icd_term) { + if (NULL == icd_term || NULL == dev) { return VK_ERROR_INITIALIZATION_FAILED; } loader_set_dispatch(object, &dev->loader_dispatch); @@ -3951,9 +3951,11 @@ VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL loader_gpa_device_terminator(VkDevice d // object before passing the appropriate info along to the ICD. // This is why we also have to override the direct ICD call to // vkGetDeviceProcAddr to intercept those calls. - PFN_vkVoidFunction addr = get_extension_device_proc_terminator(dev, pName); - if (NULL != addr) { - return addr; + if(NULL != dev) { + PFN_vkVoidFunction addr = get_extension_device_proc_terminator(dev, pName); + if (NULL != addr) { + return addr; + } } return icd_term->dispatch.GetDeviceProcAddr(device, pName); |