[PATCH 1/2] winevulkan: Fix vkEnumerateInstanceExtensionProperties().

Józef Kucia jkucia at codeweavers.com
Fri Mar 16 10:30:41 CDT 2018


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 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 b9326baef6a3..a7f40f157d37 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,
-- 
2.16.1




More information about the wine-devel mailing list