Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/Vulkan-Loader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Zhu <danny@netflt.com>2022-10-22 06:06:31 +0300
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2022-10-25 18:08:22 +0300
commit7626527833c7bc1b28a80b6dfbd0e8506fc41339 (patch)
treed842baf3de7ca31abc4e18bf36e28fad060e58aa
parent81d813667d4bc71806e426e8da8d86ccf40eb62a (diff)
fix: add dev pointer checking
-rw-r--r--loader/generated/vk_loader_extensions.c5
-rw-r--r--loader/loader.c10
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);