From: Danny Zhu Date: Sat, 22 Oct 2022 03:06:31 +0000 (+0800) Subject: fix: add dev pointer checking X-Git-Tag: upstream/1.3.240~83 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7626527833c7bc1b28a80b6dfbd0e8506fc41339;p=platform%2Fupstream%2FVulkan-Loader.git fix: add dev pointer checking --- diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 1a16c821..5cdd3076 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 373c2b45..84031dfb 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);