From: Roland Scheidegger Date: Mon, 6 Feb 2012 00:04:28 +0000 (+0100) Subject: mesa: check_index_bounds off-by-one fix X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1f4a853b1e4691400ab832c589b044b659c20c06;p=mesa.git mesa: check_index_bounds off-by-one fix in check_index_bounds the comparison needs to be "greater equal" since contrary to the name _MaxElement is the count of the array (this matches similar code in vbo_exec_DrawRangeElementsBaseVertex). Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index b6871d0dbd1..1ae491f25b5 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -187,7 +187,7 @@ check_index_bounds(struct gl_context *ctx, GLsizei count, GLenum type, vbo_get_minmax_indices(ctx, &prim, &ib, &min, &max, 1); if ((int)(min + basevertex) < 0 || - max + basevertex > ctx->Array.ArrayObj->_MaxElement) { + max + basevertex >= ctx->Array.ArrayObj->_MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ _mesa_warning(ctx, "glDrawElements() index=%u is out of bounds (max=%u)", max, ctx->Array.ArrayObj->_MaxElement);