Module: Mesa Branch: master Commit: f37cccde3c2f4d63ba45be5b50b2358eb8ef98b4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f37cccde3c2f4d63ba45be5b50b2358eb8ef98b4
Author: Brian Paul <bri...@vmware.com> Date: Thu May 7 11:01:02 2009 -0600 vbo: in glDraw[Range]Element() code, check for out of bounds indexes No-op the bad drawing command rather than go out of bounds and render garbage. Print a warning to alert the developer to the bad drawing call. --- src/mesa/vbo/vbo_exec_array.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index 0d4cbe9..f4ad394 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -352,6 +352,13 @@ vbo_exec_DrawRangeElements(GLenum mode, if (!_mesa_validate_DrawRangeElements( ctx, mode, start, end, count, type, indices )) return; + if (end >= ctx->Array._MaxElement) { + /* the max element is out of bounds of one or more enabled arrays */ + _mesa_warning(ctx, "glDraw[Range]Elements() index=%u is " + "out of bounds (max=%u)", end, ctx->Array._MaxElement); + return; + } + FLUSH_CURRENT( ctx, 0 ); if (ctx->NewState) _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit