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:
authorMarcin KaƄtoch <marcin.kantoch@amd.com>2022-06-23 18:46:34 +0300
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2022-06-24 23:08:04 +0300
commite91cfe1cf9c540597e969f3b01b16384ec4b9c50 (patch)
tree994b639a1d97526078abb76fe933b03950aea375
parent5249c8f8690d0e867f1c0ff16b428f07a805a4d2 (diff)
loader: device array dealloc fix
-rw-r--r--loader/loader.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/loader/loader.c b/loader/loader.c
index da63d0d72..48a4d5b6f 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -5449,6 +5449,13 @@ VKAPI_ATTR void VKAPI_CALL terminator_DestroyInstance(VkInstance instance, const
loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)&ptr_instance->ext_list);
if (NULL != ptr_instance->phys_devs_term) {
for (uint32_t i = 0; i < ptr_instance->phys_dev_count_term; i++) {
+ for (uint32_t j = i+1; j < ptr_instance->phys_dev_count_term; j++) {
+ if (ptr_instance->phys_devs_term[i] == ptr_instance->phys_devs_term[j]) {
+ ptr_instance->phys_devs_term[j] = NULL;
+ }
+ }
+ }
+ for (uint32_t i = 0; i < ptr_instance->phys_dev_count_term; i++) {
loader_instance_heap_free(ptr_instance, ptr_instance->phys_devs_term[i]);
}
loader_instance_heap_free(ptr_instance, ptr_instance->phys_devs_term);