[PATCH 1/2] wined3d: Zero-initialise context_vk in wined3d_context_vk_init().

Henri Verbeet hverbeet at codeweavers.com
Tue Dec 15 07:14:20 CST 2020


wined3d_context_vk_init() assumes zero-initialised memory, but that's not
necessarily true in case we previously went through an
adapter_vk_init_3d()/adapter_vk_uninit_3d() pair.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
This fixes a crash on startup with the Vulkan backend in Batman: Arkham
Origins.

 dlls/wined3d/context_vk.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c
index 9db363172f1..2d80c59ca32 100644
--- a/dlls/wined3d/context_vk.c
+++ b/dlls/wined3d/context_vk.c
@@ -3158,6 +3158,7 @@ HRESULT wined3d_context_vk_init(struct wined3d_context_vk *context_vk, struct wi
 
     TRACE("context_vk %p, swapchain %p.\n", context_vk, swapchain);
 
+    memset(context_vk, 0, sizeof(*context_vk));
     wined3d_context_init(&context_vk->c, swapchain);
     device_vk = wined3d_device_vk(swapchain->device);
     adapter_vk = wined3d_adapter_vk(device_vk->d.adapter);
-- 
2.20.1




More information about the wine-devel mailing list