On 06/27/2013 05:37 PM, Anuj Phogat wrote:
Assertions are not sufficient to check for null pointers as they don't
show up in release builds. So, return ZeroVec/dummyReg instead of NULL
pointer in get_{src,dst}_register_pointer(). This should calm down
static analysis tool.

Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com>
---
  src/mesa/program/prog_execute.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/mesa/program/prog_execute.c b/src/mesa/program/prog_execute.c
index b902006..560332a 100644
--- a/src/mesa/program/prog_execute.c
+++ b/src/mesa/program/prog_execute.c
@@ -145,7 +145,7 @@ get_src_register_pointer(const struct prog_src_register 
*source,
        _mesa_problem(NULL,
           "Invalid src register file %d in get_src_register_pointer()",
           source->File);
-      return NULL;
+      return ZeroVec;
     }
  }

@@ -184,7 +184,7 @@ get_dst_register_pointer(const struct prog_dst_register 
*dest,
        _mesa_problem(NULL,
           "Invalid dest register file %d in get_dst_register_pointer()",
           dest->File);
-      return NULL;
+      return dummyReg;
     }
  }

@@ -199,7 +199,6 @@ fetch_vector4(const struct prog_src_register *source,
                const struct gl_program_machine *machine, GLfloat result[4])
  {
     const GLfloat *src = get_src_register_pointer(source, machine);
-   ASSERT(src);

     if (source->Swizzle == SWIZZLE_NOOP) {
        /* no swizzling */
@@ -302,7 +301,6 @@ fetch_vector1(const struct prog_src_register *source,
                const struct gl_program_machine *machine, GLfloat result[4])
  {
     const GLfloat *src = get_src_register_pointer(source, machine);
-   ASSERT(src);

     result[0] = src[GET_SWZ(source->Swizzle, 0)];



Reviewed-by: Brian Paul <bri...@vmware.com>

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to