Check if 'indices' parameter is NULL (bug 11314)
authorBrian <brian.paul@tungstengraphics.com>
Sun, 8 Jul 2007 15:20:42 +0000 (09:20 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Sun, 8 Jul 2007 15:20:42 +0000 (09:20 -0600)
src/mesa/main/api_validate.c

index 3d20ba7d1443c83ad7ff3e4791cf4365870ca0ef..841c6a530263e40984aa8b31421192a2bf5bb237 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.1
+ * Version:  7.0.1
  *
- * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -100,6 +100,11 @@ _mesa_validate_DrawElements(GLcontext *ctx,
                          (const GLubyte *) indices);
       }
    }
+   else {
+      /* not using a VBO */
+      if (!indices)
+         return GL_FALSE;
+   }
 
    if (ctx->Const.CheckArrayBounds) {
       /* find max array index */
@@ -170,6 +175,16 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
        && !(ctx->VertexProgram._Enabled && ctx->Array.ArrayObj->VertexAttrib[0].Enabled))
       return GL_FALSE;
 
+   /* Vertex buffer object tests */
+   if (ctx->Array.ElementArrayBufferObj->Name) {
+      /* XXX re-use code from above? */
+   }
+   else {
+      /* not using VBO */
+      if (!indices)
+         return GL_FALSE;
+   }
+
    if (ctx->Const.CheckArrayBounds) {
       /* Find max array index.
        * We don't trust the user's start and end values.