[PATCH v2] d3dcompiler: Fix a leak on error path (Coverity).

Sven Baars sbaars at codeweavers.com
Sun Oct 4 15:39:11 CDT 2020


Signed-off-by: Sven Baars <sbaars at codeweavers.com>
---
v2: Moved the alloc instead.

 dlls/d3dcompiler_43/utils.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/d3dcompiler_43/utils.c b/dlls/d3dcompiler_43/utils.c
index df39716b495..21ad98f2b5c 100644
--- a/dlls/d3dcompiler_43/utils.c
+++ b/dlls/d3dcompiler_43/utils.c
@@ -1446,7 +1446,7 @@ static BOOL invert_swizzle(unsigned int *swizzle, unsigned int *writemask, unsig
 struct hlsl_ir_node *add_assignment(struct list *instrs, struct hlsl_ir_node *lhs,
         enum parse_assign_op assign_op, struct hlsl_ir_node *rhs)
 {
-    struct hlsl_ir_assignment *assign = d3dcompiler_alloc(sizeof(*assign));
+    struct hlsl_ir_assignment *assign;
     struct hlsl_type *lhs_type;
     DWORD writemask = 0;
 
@@ -1459,6 +1459,7 @@ struct hlsl_ir_node *add_assignment(struct list *instrs, struct hlsl_ir_node *lh
             return NULL;
     }
 
+    assign = d3dcompiler_alloc(sizeof(*assign));
     if (!assign)
     {
         ERR("Out of memory\n");
-- 
2.25.1




More information about the wine-devel mailing list