From 7dc17ae5abc4ef85012560e8146def6bdb2599a7 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 22 Oct 2020 17:31:19 -0700 Subject: [PATCH] glsl: Update loop_terminator constructor to accept parameters. Fix defect reported by Coverity Scan. Uninitialized scalar field (UNINIT_CTOR) uninit_member: Non-static class member continue_from_then is not initialized in this constructor nor in any functions that it calls. Suggested-by: Timothy Arceri Signed-off-by: Vinson Lee Reviewed-by: Timothy Arceri Part-of: --- src/compiler/glsl/loop_analysis.cpp | 6 ++---- src/compiler/glsl/loop_analysis.h | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/compiler/glsl/loop_analysis.cpp b/src/compiler/glsl/loop_analysis.cpp index 6f0b3287a5b..301b7f343fa 100644 --- a/src/compiler/glsl/loop_analysis.cpp +++ b/src/compiler/glsl/loop_analysis.cpp @@ -355,10 +355,8 @@ loop_terminator * loop_variable_state::insert(ir_if *if_stmt, bool continue_from_then) { void *mem_ctx = ralloc_parent(this); - loop_terminator *t = new(mem_ctx) loop_terminator(); - - t->ir = if_stmt; - t->continue_from_then = continue_from_then; + loop_terminator *t = new(mem_ctx) loop_terminator(if_stmt, + continue_from_then); this->terminators.push_tail(t); diff --git a/src/compiler/glsl/loop_analysis.h b/src/compiler/glsl/loop_analysis.h index d6fdb908e0d..8d65b13c42f 100644 --- a/src/compiler/glsl/loop_analysis.h +++ b/src/compiler/glsl/loop_analysis.h @@ -194,8 +194,8 @@ public: class loop_terminator : public exec_node { public: - loop_terminator() - : ir(NULL), iterations(-1) + loop_terminator(ir_if *ir, bool continue_from_then) + : ir(ir), iterations(-1), continue_from_then(continue_from_then) { }