From: Marco Rubin <20150305+Rubo3@users.noreply.github.com> Date: Mon, 24 Jan 2022 11:44:55 +0000 (+0000) Subject: Fix a possible memory leak in vkengine_create (#62) X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=004f6a83b088e550c1b82336102181b28f489cdf;p=jp%2Fvkvg.git 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 --- 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