Mesa (master): glsl: Initialize ir_constant member const_elements in all constructors.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Sep 22 02:44:01 UTC 2020


Module: Mesa
Branch: master
Commit: 3022cf3bac5ac648f918aafe111e3308cd5af793
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3022cf3bac5ac648f918aafe111e3308cd5af793

Author: Vinson Lee <vlee at freedesktop.org>
Date:   Thu Sep 17 17:32:15 2020 -0700

glsl: Initialize ir_constant member const_elements in all constructors.

Fix defects reported by Coverity Scan.

Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member const_elements is not
initialized in this constructor nor in any functions that it calls.

Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6770>

---

 src/compiler/glsl/ir.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/compiler/glsl/ir.cpp b/src/compiler/glsl/ir.cpp
index 71be1e1c7c1..7b30de2183f 100644
--- a/src/compiler/glsl/ir.cpp
+++ b/src/compiler/glsl/ir.cpp
@@ -724,6 +724,7 @@ ir_constant::ir_constant(const struct glsl_type *type,
 ir_constant::ir_constant(float16_t f16, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_FLOAT16, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -737,6 +738,7 @@ ir_constant::ir_constant(float16_t f16, unsigned vector_elements)
 ir_constant::ir_constant(float f, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_FLOAT, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -750,6 +752,7 @@ ir_constant::ir_constant(float f, unsigned vector_elements)
 ir_constant::ir_constant(double d, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_DOUBLE, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -763,6 +766,7 @@ ir_constant::ir_constant(double d, unsigned vector_elements)
 ir_constant::ir_constant(int16_t i16, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_INT16, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -776,6 +780,7 @@ ir_constant::ir_constant(int16_t i16, unsigned vector_elements)
 ir_constant::ir_constant(uint16_t u16, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_UINT16, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -789,6 +794,7 @@ ir_constant::ir_constant(uint16_t u16, unsigned vector_elements)
 ir_constant::ir_constant(unsigned int u, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_UINT, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -802,6 +808,7 @@ ir_constant::ir_constant(unsigned int u, unsigned vector_elements)
 ir_constant::ir_constant(int integer, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_INT, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -815,6 +822,7 @@ ir_constant::ir_constant(int integer, unsigned vector_elements)
 ir_constant::ir_constant(uint64_t u64, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_UINT64, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -828,6 +836,7 @@ ir_constant::ir_constant(uint64_t u64, unsigned vector_elements)
 ir_constant::ir_constant(int64_t int64, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_INT64, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {
@@ -841,6 +850,7 @@ ir_constant::ir_constant(int64_t int64, unsigned vector_elements)
 ir_constant::ir_constant(bool b, unsigned vector_elements)
    : ir_rvalue(ir_type_constant)
 {
+   this->const_elements = NULL;
    assert(vector_elements <= 4);
    this->type = glsl_type::get_instance(GLSL_TYPE_BOOL, vector_elements, 1);
    for (unsigned i = 0; i < vector_elements; i++) {



More information about the mesa-commit mailing list