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

Author: Julien Isorce <jiso...@oblong.com>
Date:   Thu Mar 16 13:09:21 2017 +0000

si_descriptor: move velems nullity check before dereference

CID 1399479: Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking velems suggests that it may be null,
but it has already been dereferenced on all paths leading to the check.

Signed-off-by: Julien Isorce <jiso...@oblong.com>
Reviewed-by: Marek Olšák <marek.ol...@amd.com>

---

 src/gallium/drivers/radeonsi/si_descriptors.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c 
b/src/gallium/drivers/radeonsi/si_descriptors.c
index eb79578b34..2e62725e9c 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -949,15 +949,22 @@ bool si_upload_vertex_buffer_descriptors(struct 
si_context *sctx)
 {
        struct si_vertex_element *velems = sctx->vertex_elements;
        struct si_descriptors *desc = &sctx->vertex_buffers;
-       unsigned i, count = velems->count;
-       unsigned desc_list_byte_size = velems->desc_list_byte_size;
+       unsigned i, count;
+       unsigned desc_list_byte_size;
+       unsigned first_vb_use_mask;
        uint64_t va;
        uint32_t *ptr;
 
-       if (!sctx->vertex_buffers_dirty || !count || !velems)
+       if (!sctx->vertex_buffers_dirty || !velems)
                return true;
 
-       unsigned first_vb_use_mask = velems->first_vb_use_mask;
+       count = velems->count;
+
+       if (!count)
+               return true;
+
+       desc_list_byte_size = velems->desc_list_byte_size;
+       first_vb_use_mask = velems->first_vb_use_mask;
 
        /* Vertex buffer descriptors are the only ones which are uploaded
         * directly through a staging buffer and don't go through

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to