From 9e4d1d8a7c0d60a6975d186944cd870e06f94773 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Wed, 18 Jan 2017 22:35:19 +0100 Subject: radeonsi: reject invalid vertex element formats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should fix a coverity defect. Reviewed-by: Samuel Pitoiset Reviewed-by: Nicolai Hähnle Reviewed-by: Edward O'Callaghan --- src/gallium/drivers/radeonsi/si_state.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium/drivers/radeonsi') diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 876cbf6a34b..4a9ca812174 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3366,6 +3366,11 @@ static void *si_create_vertex_elements(struct pipe_context *ctx, desc = util_format_description(elements[i].src_format); first_non_void = util_format_get_first_non_void_channel(elements[i].src_format); + if (first_non_void < 0) { + FREE(v); + return NULL; + } + data_format = si_translate_buffer_dataformat(ctx->screen, desc, first_non_void); num_format = si_translate_buffer_numformat(ctx->screen, desc, first_non_void); channel = &desc->channel[first_non_void]; -- cgit v1.2.3