summaryrefslogtreecommitdiff
path: root/src/mesa/vbo/vbo_context.c
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-09-16 08:49:43 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-09-16 08:51:56 -0600
commit4992806ae54d7d1db86eed9c6524aa05f4a2fbd6 (patch)
tree9c38668a48a506feea997829433dd0c5495c132c /src/mesa/vbo/vbo_context.c
parent358aab12c60d5e627d2ce54c1407659cbc207e8c (diff)
mesa: protect against double-free in _vbo_DestroyContext()
Diffstat (limited to 'src/mesa/vbo/vbo_context.c')
-rw-r--r--src/mesa/vbo/vbo_context.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/vbo/vbo_context.c b/src/mesa/vbo/vbo_context.c
index dc7c534251..b452ac8a38 100644
--- a/src/mesa/vbo/vbo_context.c
+++ b/src/mesa/vbo/vbo_context.c
@@ -246,12 +246,14 @@ void _vbo_DestroyContext( GLcontext *ctx )
ctx->aelt_context = NULL;
}
- vbo_exec_destroy(ctx);
+ if (vbo_context(ctx)) {
+ vbo_exec_destroy(ctx);
#if FEATURE_dlist
- vbo_save_destroy(ctx);
+ vbo_save_destroy(ctx);
#endif
- FREE(vbo_context(ctx));
- ctx->swtnl_im = NULL;
+ FREE(vbo_context(ctx));
+ ctx->swtnl_im = NULL;
+ }
}