From 6d475f150d4b3376c452bc333f2756d9867d901c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
Date: Fri, 16 Mar 2018 16:30:41 +0100
Subject: [PATCH] winevulkan: Fix vkEnumerateInstanceExtensionProperties().
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
 dlls/winevulkan/vulkan.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
index 41a45efc796..49ec1479887 100644
--- a/dlls/winevulkan/vulkan.c
+++ b/dlls/winevulkan/vulkan.c
@@ -823,19 +823,14 @@ static VkResult WINAPI wine_vkEnumerateInstanceExtensionProperties(const char *l
         if (wine_vk_instance_extension_supported(host_properties[i].extensionName))
         {
             TRACE("Enabling extension '%s'\n", host_properties[i].extensionName);
-            memcpy(&properties[j], &host_properties[i], sizeof(*properties));
+            properties[j] = host_properties[i];
             j++;
         }
     }
-
-    /* Return incomplete if the buffer is smaller than the number of supported extensions. */
-    if (*count < num_properties)
-        res = VK_INCOMPLETE;
-    else
-        res = VK_SUCCESS;
+    *count = min(*count, num_properties);
 
     heap_free(host_properties);
-    return res;
+    return *count < num_properties ? VK_INCOMPLETE : VK_SUCCESS;
 }
 
 VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *count,
-- 
GitLab