diff options
author | Brian <[email protected]> | 2007-04-17 10:19:47 -0600 |
---|---|---|
committer | Brian <[email protected]> | 2007-04-17 10:19:47 -0600 |
commit | d2d86a3f0b38716196ea2b3ffa4cbbd0420de1b3 (patch) | |
tree | cb05396b2fb5407f478690e9cebcbcca7eb72ac9 /src/mesa/tnl | |
parent | 9cbcf7c696372c680c87cf60c2e290e78e9e14c8 (diff) |
In bind_inputs() set VB->EdgeFlag to NULL if it's not needed.
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.
Diffstat (limited to 'src/mesa/tnl')
-rw-r--r-- | src/mesa/tnl/t_draw.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/tnl/t_draw.c b/src/mesa/tnl/t_draw.c index c97cf5f7b21..5b2b2ae5495 100644 --- a/src/mesa/tnl/t_draw.c +++ b/src/mesa/tnl/t_draw.c @@ -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; + } } |