From 004f6a83b088e550c1b82336102181b28f489cdf Mon Sep 17 00:00:00 2001 From: Marco Rubin <20150305+Rubo3@users.noreply.github.com> Date: Mon, 24 Jan 2022 11:44:55 +0000 Subject: [PATCH] Fix a possible memory leak in vkengine_create (#62) * Fix a possible memory leak in vkengine_create The assertion checks could crash the program, leaving memory allocated by `e` un`free`d. * Restored GLFW callback function --- tests/common/vkengine.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/common/vkengine.c b/tests/common/vkengine.c index febc484..ec4746c 100644 --- a/tests/common/vkengine.c +++ b/tests/common/vkengine.c @@ -111,8 +111,6 @@ bool instance_extension_supported (VkExtensionProperties* instanceExtProps, uint } vk_engine_t* vkengine_create (VkPhysicalDeviceType preferedGPU, VkPresentModeKHR presentMode, uint32_t width, uint32_t height) { - vk_engine_t* e = (vk_engine_t*)calloc(1,sizeof(vk_engine_t)); - glfwSetErrorCallback(glfw_error_callback); assert (glfwInit()==GLFW_TRUE); assert (glfwVulkanSupported()==GLFW_TRUE); @@ -147,6 +145,7 @@ vk_engine_t* vkengine_create (VkPhysicalDeviceType preferedGPU, VkPresentModeKHR free(instanceExtProps); + vk_engine_t* e = (vk_engine_t*)calloc(1,sizeof(vk_engine_t)); e->app = vkh_app_create(1 ,2 , "vkvgTest", enabledLayersCount, enabledLayers, enabledExtsCount, enabledExts); #if defined(DEBUG) && defined (VKVG_DBG_UTILS) vkh_app_enable_debug_messenger(e->app -- 2.47.3