From 9d8b7445333cf528ccf7b40a419c640cb8229f98 Mon Sep 17 00:00:00 2001 From: Mark Young Date: Fri, 3 Feb 2017 16:27:42 -0700 Subject: [PATCH] loader: gh1449 - Fix mem leak on CTS Fix a memory leak in the CTS test which fails randomly during the vkCreateInstance call. Change-Id: Ie72feac730d3854cb2af9e13a3687aa43081bfd5 --- loader/loader.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/loader/loader.c b/loader/loader.c index 81c37c4..b6adbb1 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -5046,15 +5046,17 @@ VkResult setupLoaderTermPhysDevs(struct loader_instance *inst) { out: if (VK_SUCCESS != res) { - if (NULL != inst->phys_devs_term) { - // We've encountered an error, so we should free the - // new buffers. + if (NULL != new_phys_devs) { + // We've encountered an error, so we should free the new buffers. for (uint32_t i = 0; i < inst->total_gpu_count; i++) { loader_instance_heap_free(inst, new_phys_devs[i]); } + loader_instance_heap_free(inst, new_phys_devs); + } + if (NULL != inst->phys_devs_term) { loader_instance_heap_free(inst, inst->phys_devs_term); - inst->total_gpu_count = 0; } + inst->total_gpu_count = 0; } else { // Free everything that didn't carry over to the new array of // physical devices. Everything else will have been copied over -- 2.7.4