In bind_inputs() set VB->EdgeFlag to NULL if it's not needed.
authorBrian <brian@yutani.localnet.net>
Tue, 17 Apr 2007 16:19:47 +0000 (10:19 -0600)
committerBrian <brian@yutani.localnet.net>
Tue, 17 Apr 2007 16:19:47 +0000 (10:19 -0600)
Otherwise, the clip/interp code was finding VB->EdgeFlag to be non-null and
reading/writing it when the memory may have been freed earlier in free_space().
This fixes several VTK segfaults/failures reported by Brad King @ Kitware.

src/mesa/tnl/t_draw.c

index c97cf5f7b21c30358547188cd550c7eb4e09a1bc..5b2b2ae5495dd4b173f36833862ac88d7524cf80 100644 (file)
@@ -251,7 +251,10 @@ static void bind_inputs( GLcontext *ctx,
                                           VB->AttribPtr[_TNL_ATTRIB_EDGEFLAG],
                                           VB->Count );
    }
-
+   else {
+      /* the data previously pointed to by EdgeFlag may have been freed */
+      VB->EdgeFlag = NULL;
+   }
 }