mesa: fix type for array indexing validation
parse_program_resource_name returns -1 when the index is invalid this needs to be tested before assigning the value to the unsigned array_index. In link_varyings.cpp (the other place parse_program_resource_name is used) after the -1 check is done the value is just assigned to an unsigned variable so it seems long is just used so we can return the -1 rather than actually expecting index values to be ridiculously large. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
@@ -506,7 +506,7 @@ _mesa_program_resource_array_size(struct gl_program_resource *res)
|
|||||||
static bool
|
static bool
|
||||||
valid_array_index(const GLchar *name, unsigned *array_index)
|
valid_array_index(const GLchar *name, unsigned *array_index)
|
||||||
{
|
{
|
||||||
unsigned idx = 0;
|
long idx = 0;
|
||||||
const GLchar *out_base_name_end;
|
const GLchar *out_base_name_end;
|
||||||
|
|
||||||
idx = parse_program_resource_name(name, &out_base_name_end);
|
idx = parse_program_resource_name(name, &out_base_name_end);
|
||||||
|
Reference in New Issue
Block a user