The if check above means we can only get here if size is less than 4. --- src/mesa/program/prog_parameter.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/mesa/program/prog_parameter.c b/src/mesa/program/prog_parameter.c index 44e680c..40bc47d 100644 --- a/src/mesa/program/prog_parameter.c +++ b/src/mesa/program/prog_parameter.c @@ -260,23 +260,22 @@ _mesa_add_parameter(struct gl_program_parameter_list *paramList, struct gl_program_parameter *p = paramList->Parameters + oldNum + i; p->Name = strdup(name ? name : ""); p->Type = type; p->Size = size; p->DataType = datatype; if (values) { if (size >= 4) { COPY_4V(paramList->ParameterValues[oldNum + i], values); } else { /* copy 1, 2 or 3 values */ - GLuint remaining = size % 4; - assert(remaining < 4); - for (j = 0; j < remaining; j++) { + assert(size < 4); + for (j = 0; j < size; j++) { paramList->ParameterValues[oldNum + i][j].f = values[j].f; } /* fill in remaining positions with zeros */ for (; j < 4; j++) { paramList->ParameterValues[oldNum + i][j].f = 0.0f; } } values += 4; } else { /* silence valgrind */ -- 2.9.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev