radeonsi: check if value is negative
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 a bit safer but overall should not have a big impact. CID: 1355598 Signed-off-by: Jakob Sinclair <sinclair.jakob@openmailbox.org> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:

committed by
Marek Olšák

parent
860210ccfc
commit
76b8c5cc60
@@ -1762,6 +1762,9 @@ static uint32_t si_translate_buffer_dataformat(struct pipe_screen *screen,
|
|||||||
const struct util_format_description *desc,
|
const struct util_format_description *desc,
|
||||||
int first_non_void)
|
int first_non_void)
|
||||||
{
|
{
|
||||||
|
if (first_non_void < 0)
|
||||||
|
return V_008F0C_BUF_DATA_FORMAT_INVALID;
|
||||||
|
|
||||||
unsigned type = desc->channel[first_non_void].type;
|
unsigned type = desc->channel[first_non_void].type;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -1836,7 +1839,7 @@ static uint32_t si_translate_buffer_numformat(struct pipe_screen *screen,
|
|||||||
const struct util_format_description *desc,
|
const struct util_format_description *desc,
|
||||||
int first_non_void)
|
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;
|
return V_008F0C_BUF_NUM_FORMAT_FLOAT;
|
||||||
|
|
||||||
switch (desc->channel[first_non_void].type) {
|
switch (desc->channel[first_non_void].type) {
|
||||||
|
Reference in New Issue
Block a user