Zebediah Figura : vkd3d-shader: Return NULL from vkd3d_shader_message_context_copy_messages() if there are no messages to copy.

Alexandre Julliard julliard at winehq.org
Fri Oct 9 16:01:54 CDT 2020


Module: vkd3d
Branch: master
Commit: 05cf9a54043eb5138ac503ef205427458435760f
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=05cf9a54043eb5138ac503ef205427458435760f

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Fri Oct  9 01:14:02 2020 -0500

vkd3d-shader: Return NULL from vkd3d_shader_message_context_copy_messages() if there are no messages to copy.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/vkd3d_shader_main.c | 3 +++
 tests/shader_runner_d3d12.c           | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c
index d3d86ed..8d33859 100644
--- a/libs/vkd3d-shader/vkd3d_shader_main.c
+++ b/libs/vkd3d-shader/vkd3d_shader_main.c
@@ -149,6 +149,9 @@ bool vkd3d_shader_message_context_copy_messages(struct vkd3d_shader_message_cont
 
     *out = NULL;
 
+    if (!context->messages.content_size)
+        return true;
+
     if (!(messages = vkd3d_malloc(context->messages.content_size + 1)))
         return false;
     memcpy(messages, context->messages.buffer, context->messages.content_size + 1);
diff --git a/tests/shader_runner_d3d12.c b/tests/shader_runner_d3d12.c
index df7076c..787e90a 100644
--- a/tests/shader_runner_d3d12.c
+++ b/tests/shader_runner_d3d12.c
@@ -335,6 +335,8 @@ START_TEST(shader_runner_d3d12)
                     ok(hr == E_FAIL, "Got unexpected hr %#x.\n", hr);
                     ok(!blob, "Expected no compiled shader blob.\n");
                     ok(!!errors, "Expected non-NULL error blob.\n");
+                    if (!errors)
+                        return;
 
                     if (vkd3d_test_state.debug_level)
                         trace("%s\n", (char *)ID3D10Blob_GetBufferPointer(errors));




More information about the wine-cvs mailing list