diff options
author | Marcin KaĆtoch <marcin.kantoch@amd.com> | 2022-06-23 18:46:34 +0300 |
---|---|---|
committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | 2022-06-24 23:08:04 +0300 |
commit | e91cfe1cf9c540597e969f3b01b16384ec4b9c50 (patch) | |
tree | 994b639a1d97526078abb76fe933b03950aea375 | |
parent | 5249c8f8690d0e867f1c0ff16b428f07a805a4d2 (diff) |
loader: device array dealloc fix
-rw-r--r-- | loader/loader.c | 7 |
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); |