diff --git a/src/vulkan/utils.c b/src/vulkan/utils.c
index e2d9c1091b607346a44020cb9a76e42aded54fb5..755f660e3deadaa002a27d576515454aae69e6f5 100644
--- a/src/vulkan/utils.c
+++ b/src/vulkan/utils.c
@@ -146,8 +146,7 @@ void *vk_struct_memdup(void *alloc, const void *pin)
 
     const VkBaseInStructure *in = pin;
     size_t size = vk_struct_size(in->sType);
-    if (!size)
-        return NULL;
+    pl_assert(size);
 
     VkBaseOutStructure *out = pl_memdup(alloc, in, size);
     out->pNext = NULL;
@@ -156,10 +155,12 @@ void *vk_struct_memdup(void *alloc, const void *pin)
 
 void *vk_chain_memdup(void *alloc, const void *pin)
 {
+    if (!pin)
+        return NULL;
+
     const VkBaseInStructure *in = pin;
     VkBaseOutStructure *out = vk_struct_memdup(alloc, in);
-    if (!out)
-        return NULL;
+    pl_assert(out);
 
     out->pNext = vk_chain_memdup(alloc, in->pNext);
     return out;