[Mesa-dev] [PATCH 6/6] si_descriptor: move velems nullity check before dereference
Marek Olšák
maraeo at gmail.com
Mon Mar 20 15:35:09 UTC 2017
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Thu, Mar 16, 2017 at 3:25 PM, Julien Isorce <julien.isorce at gmail.com> wrote:
> 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 <jisorce at oblong.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 eb79578..2e62725 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
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list