Mesa (master): radeonsi: reject invalid vertex element formats

Marek Olšák mareko at kemper.freedesktop.org
Thu Jan 19 15:39:01 UTC 2017


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Jan 18 22:35:19 2017 +0100

radeonsi: reject invalid vertex element formats

This should fix a coverity defect.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>

---

 src/gallium/drivers/radeonsi/si_state.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 876cbf6..4a9ca81 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];




More information about the mesa-commit mailing list