Improvement in vmaCreateAllocator in case creation fails
diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h
index a9cefa6..d6e0edb 100644
--- a/include/vk_mem_alloc.h
+++ b/include/vk_mem_alloc.h
@@ -16725,7 +16725,13 @@
         (VK_VERSION_MAJOR(pCreateInfo->vulkanApiVersion) == 1 && VK_VERSION_MINOR(pCreateInfo->vulkanApiVersion) <= 2));

     VMA_DEBUG_LOG("vmaCreateAllocator");

     *pAllocator = vma_new(pCreateInfo->pAllocationCallbacks, VmaAllocator_T)(pCreateInfo);

-    return (*pAllocator)->Init(pCreateInfo);

+    VkResult result = (*pAllocator)->Init(pCreateInfo);

+    if(result < 0)

+    {

+        vma_delete(pCreateInfo->pAllocationCallbacks, *pAllocator);

+        *pAllocator = VK_NULL_HANDLE;

+    }

+    return result;

 }

 

 VMA_CALL_PRE void VMA_CALL_POST vmaDestroyAllocator(