Avoid a crash when the user has enabled glVertex{,Attrib}Pointer but hasn't
filled in a valid pointer for that attribute or vertex array.
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index 84df98d..e22f4bb 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -699,7 +699,7 @@
       aa++;
    }
    for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) {
-      if (ctx->Array.TexCoord[i].Enabled) {
+      if (ctx->Array.TexCoord[i].Enabled && ctx->Array.TexCoord[i].Ptr) {
          /* NOTE: we use generic glVertexAttrib functions here.
           * If we ever de-alias conventional/generic vertex attribs this
           * will have to change.
@@ -714,7 +714,8 @@
 
    /* generic vertex attribute arrays */
    for (i = 1; i < VERT_ATTRIB_MAX; i++) {  /* skip zero! */
-      if (ctx->Array.VertexAttrib[i].Enabled) {
+      if (ctx->Array.VertexAttrib[i].Enabled &&
+            ctx->Array.VertexAttrib[i].Ptr) {
          struct gl_client_array *attribArray = &ctx->Array.VertexAttrib[i];
          at->array = attribArray;
          /* Note: we can't grab the _glapi_Dispatch->VertexAttrib1fvNV