Fixes a Coverity defect by adding checks to see if a value is negative before using it to index an array. By checking the value first it makes the code more clean and it doesn't change the outcome of the function.
CID: 1355598 Signed-off-by: Jakob Sinclair <sinclair.ja...@openmailbox.org> --- src/gallium/drivers/radeonsi/si_state.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 7ae6e8a..8bd527b 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -1762,6 +1762,9 @@ static uint32_t si_translate_buffer_dataformat(struct pipe_screen *screen, const struct util_format_description *desc, int first_non_void) { + if (first_non_void < 0) + return V_008F0C_BUF_DATA_FORMAT_INVALID; + unsigned type = desc->channel[first_non_void].type; int i; @@ -1836,7 +1839,7 @@ static uint32_t si_translate_buffer_numformat(struct pipe_screen *screen, const struct util_format_description *desc, int first_non_void) { - if (desc->format == PIPE_FORMAT_R11G11B10_FLOAT) + if (desc->format == PIPE_FORMAT_R11G11B10_FLOAT || first_non_void < 0) return V_008F0C_BUF_NUM_FORMAT_FLOAT; switch (desc->channel[first_non_void].type) { -- 2.8.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev