Mesa (master): vbo: if 'end' is out of bounds, clamp it

Brian Paul brianp at kemper.freedesktop.org
Tue Jan 26 20:26:28 UTC 2010


Module: Mesa
Branch: master
Commit: cbecb8fc8e85cfafed7fd8fd0e2dd1143efcf62b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbecb8fc8e85cfafed7fd8fd0e2dd1143efcf62b

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Jan 26 12:49:44 2010 -0700

vbo: if 'end' is out of bounds, clamp it

If we determine that the 'end' parameter to glDrawElements() is out of
bounds, clamp it to the max legal index value.

---

 src/mesa/vbo/vbo_exec_array.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
index f455382..bd2fccd 100644
--- a/src/mesa/vbo/vbo_exec_array.c
+++ b/src/mesa/vbo/vbo_exec_array.c
@@ -748,6 +748,10 @@ vbo_exec_DrawRangeElementsBaseVertex(GLenum mode,
           */
       }
 #endif
+
+      /* Set 'end' to the max possible legal value */
+      assert(ctx->Array.ArrayObj->_MaxElement >= 1);
+      end = ctx->Array.ArrayObj->_MaxElement - 1;
    }
    else if (0) {
       _mesa_printf("glDraw[Range]Elements{,BaseVertex}"




More information about the mesa-commit mailing list